<!DOCTYPE html>
<!-- saved from url=(0051) -->
<html class=" plat_windows arch_64">

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>API Reference – Sublime Text Documentation</title>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=480, user-scalable=yes">
    <style type="text/css">
    body {
        background-color: #eee;
        /* Applying here to style overscroll */
        font-family: "Lato", Arial, sans-serif;
        margin: 0;
        line-height: 1.6;
        color: #555;
        font-size: 16px;
        min-width: 480px;
    }

    main {
        display: block;
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#f9f9f9', endColorstr='#ffffff')";
        /* IE 8-9 */
        background: linear-gradient(180deg, #f9f9f9 0%, #fff 250px);
        background-color: #fff;
        /* Real background color */
        overflow: hidden;
    }

    main>section {
        position: relative;
    }

    a {
        color: #6690cc;
    }

    a:hover {
        color: #4075bf;
    }

    a:not([href]),
    a:not([href]):hover {
        color: inherit;
    }

    p {
        margin: 0.6em 0;
    }

    ul,
    ol {
        padding-left: 1.8em;
    }

    table {
        border-collapse: collapse;
    }

    td {
        vertical-align: top;
    }

    th {
        vertical-align: top;
        text-align: left;
        font-weight: normal;
    }

    label {
        display: block;
    }

    pre {
        background-color: #f6f6f6;
        border-radius: 3px;
        padding: 3px 8px;
        overflow-x: auto;
    }

    pre>code {
        padding: 0;
        background-color: transparent;
    }

    tt,
    code,
    span.setting,
    span.command,
    span.key,
    span.property,
    span.attribute,
    span.element,
    span.method,
    span.attribute {
        font-family: "Roboto Mono", monospace;
        font-size: 14px;
        background-color: #f3f3f3;
        border-radius: 2px;
        padding: 1px 5px;
    }

    span.parameter {
        font-family: "Roboto Mono", monospace;
        font-size: 14px;
        font-weight: bold;
    }

    span.data-type {
        font-style: italic;
        font-family: "Roboto Mono", monospace;
        font-size: 14px;
        background-color: #f3f3f3;
        border-radius: 2px;
        /* Smaller padding on left due to italic slant */
        padding: 1px 5px 1px 4px;
    }

    input[type=text],
    input[type=email],
    input[type=number],
    textarea {
        font-family: "Lato", Arial, sans-serif;
        font-size: 16px;
        padding: 2px;
        border: 1px solid #ddd;
        -webkit-appearance: none;
        border-radius: 1px;
    }

    input[type=text],
    input[type=email] {
        width: 220px;
    }

    input[type=number] {
        width: 50px;
    }

    textarea {
        font-family: "Roboto Mono", monospace;
        font-size: 14px;
    }

    input[type=button],
    input[type=submit] {
        margin-top: 0.5em;
        display: inline-block;
        padding: 8px 15px;
        border-radius: 3px;
        color: #fff;
        background-color: #999;
        border: none;
        font-size: 16px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        cursor: pointer;
        -webkit-appearance: none;
        transition: background-color 0.15s ease-in-out;
        -webkit-transition: background-color 0.15s ease-in-out;
    }

    input[type=button]:hover,
    input[type=submit]:hover {
        background-color: #777;
    }

    h1 {
        font-size: 34px;
        line-height: 54px;
        font-weight: normal;
        margin-bottom: 0.5em;
        margin-top: 0.7em;
    }

    h1>span {
        padding: 2px 10px 3px;
        background-color: rgba(0, 0, 0, 0.05);
        position: relative;
        left: -10px;
        color: #666;
        border-radius: 3px;
        -webkit-box-decoration-break: clone;
        box-decoration-break: clone;
    }

    h1 a,
    h1 a:hover {
        text-decoration: none;
        color: #555;
    }

    h2 {
        color: #777;
        font-size: 1.5em;
        font-weight: normal;
        margin-top: 1em;
        margin-bottom: 0.4em;
    }

    h1+h2 {
        margin-top: 0.7em;
    }

    h2 a,
    h2 a:hover {
        text-decoration: none;
        color: #777;
    }

    h1 code,
    h2 code,
    h3 code,
    h4 code,
    h5 code,
    h1 span.key,
    h2 span.key,
    h3 span.key,
    h4 span.key,
    h5 span.key {
        font-size: 1em;
        text-transform: none;
    }

    h3 {
        font-size: 1.2em;
        color: #777;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        font-weight: normal;
        margin-top: 0.7em;
        margin-bottom: 0.4em;
    }

    h4 {
        font-size: 1.1em;
        color: #888;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        font-weight: normal;
        margin-top: 0.8em;
        margin-bottom: 0.5em;
    }

    h5 {
        font-size: 1.0em;
        color: #888;
        letter-spacing: 0.5px;
        font-weight: normal;
        margin-top: 0.8em;
        margin-bottom: 0.5em;
    }

    header>section,
    footer>section,
    main>section {
        width: 1200px;
        margin: 0 auto;
        position: relative;
    }

    main>section {
        width: 1140px;
        background-image: url(/images/icon_grey_top.svg);
        background-repeat: no-repeat;
        background-position: right 32px bottom 0;
        background-size: 256px auto;
        min-height: 350px;
        padding-bottom: 100px;
    }

    main>section:after {
        content: "";
        display: table;
        clear: both;
    }

    html.hq main>section {
        background-image: none;
    }

    div.primary {
        float: left;
        max-width: 100%;
    }

    div.primary>section {
        max-width: 800px;
    }

    /* This emulates the margin collapsing when the div.primary is not present */
    div.primary>p:first-child,
    div.primary>section:first-child>p:first-child {
        margin-top: 0;
    }

    header {
        background-color: #4B4B4B;
        padding: 18px 0 12px;
    }

    header>section:after {
        content: "";
        display: table;
        clear: both;
    }

    header a#logo {
        float: left;
    }

    header a#logo img {
        width: 220px;
        height: 28px;
        display: block;
        border: none;
        transition: opacity 0.15s ease-in-out;
        -webkit-transition: opacity 0.15s ease-in-out;
    }

    header a#logo:hover img {
        opacity: 0.8;
    }

    /*
The Sublime HQ logo doesn't have symbol, so the space
for that is empty compared to Sublime Text and Sublime
Merge. We relatively position it when space gets tight
so that there isn't an unnatural gap. We leave the space
in the logo for desktop browsers so the word "Sublime"
is always aligned between the three sites. */
    @media only screen and (max-width: 1200px) {
        html.hq>section {
            max-width: 1140px;
        }

        html.hq a#logo {
            position: relative;
            left: -30px;
        }
    }

    @media only screen and (max-width: 1140px) {
        html.hq>section {
            max-width: 100%;
        }
    }

    header nav {
        float: right;
        line-height: 22px;
    }

    header nav a {
        color: #fff;
        text-decoration: none;
        margin-left: 32px;
        display: inline-block;
        transition: color 0.15s ease-in-out;
        -webkit-transition: color 0.15s ease-in-out;
    }

    header nav a:hover {
        color: #ddd;
    }

    header nav a:first-child {
        margin-left: 0;
    }

    header nav span.vr {
        display: inline-block;
        width: 1px;
        margin-left: 32px;
        background-color: rgba(255, 255, 255, 0.5);
        height: 22px;
        vertical-align: bottom;
    }

    footer>section {
        width: 1140px;
        padding: 20px 0;
        background-image: url(/images/icon_grey_bottom.svg);
        background-repeat: no-repeat;
        background-position: right 32px top 0;
        background-size: 256px auto;
        min-height: 128px;
    }

    html.hq footer>section {
        background-image: none;
    }

    aside {
        float: left;
        max-width: calc(100% - 848px);
        margin-left: 48px;
        margin-bottom: 32px;
    }

    aside h3 {
        margin-bottom: 0.5em;
    }

    aside>h3:first-child {
        margin-top: 0;
    }

    aside p {
        margin: 0.5em 0;
    }

    aside>p:first-child {
        margin-top: 0;
    }

    aside #callout {
        background-color: rgba(0, 0, 0, 0.1);
        border-radius: 4px;
        padding: 10px 15px;
        color: #555;
        height: 130px;
        overflow: hidden;
        line-height: 1.2;
        margin-bottom: 20px;
        max-width: 220px;
    }

    aside #callout a {
        color: #555;
        text-decoration: none;
        display: block;
    }

    aside #callout img#merge-screenshot {
        max-width: 450px;
        margin-top: 8px;
        width: 450px;
        display: block;
    }

    aside #callout img.icon {
        position: relative;
        width: 20px;
        top: 4px;
        margin-right: 3px;
    }

    aside #callout span.subhead {
        font-size: 0.9em;
        opacity: 0.8;
    }

    main>section>section,
    article {
        max-width: 800px;
        clear: left;
    }

    kbd {
        font-family: "Roboto Mono", monospace;
        background-color: #f3f3f3;
        color: #333;
        border-radius: 2px;
        padding: 1px 5px;
        font-size: 14px;
    }

    span.keys span.mouse {
        font-style: italic;
    }

    span.keys i {
        padding: 0 2px;
        font-style: normal;
    }

    span.keys b {
        background-color: #f3f3f3;
        border-radius: 2px;
        padding: 1px 6px;
        border: 1px solid #ccc;
        box-shadow: 0 0 0 rgba(0, 0, 0, 0.2), 0 0 0 1px #fff inset;
        display: inline-block;
        font-size: 0.9em;
        color: #444;
        font-weight: normal;
    }

    span.feature {
        font-style: italic;
        color: #333;
    }

    span.file,
    span.symbol {
        font-family: "Roboto Mono", monospace;
        font-size: 14px;
        border-bottom: 1px dotted #aaa;
    }

    span.file b,
    span.symbol b {
        color: #333;
    }

    span.menu {
        background-color: #f3f3f3;
        color: #333;
        border-radius: 2px;
        padding: 1px 5px;
    }

    span.menu i {
        color: #aaa;
        font-style: normal;
        font-size: 0.6em;
        padding: 0 2px 0 3px;
        position: relative;
        top: -1px;
    }

    html.plat_linux span.keys.mac,
    html.plat_windows span.keys.mac {
        display: none;
    }

    html.plat_osx span.keys.pc {
        display: none;
    }

    @media only screen and (max-width: 550px) {
        div.new-feature {
            width: auto;
        }

        header nav span.vr.sub-nav {
            margin-left: 0px;
            width: 0;
            height: 8px;
            display: block;
        }

        header nav span.vr.sub-nav+a {
            margin-left: 0px;
        }
    }

    @media only screen and (max-width: 820px) {

        /*
    This has to be defined like this so it has greater specificity than
    later rules in other stylesheets that do not apply to narrow windows */
        body header {
            padding: 15px 0;
        }

        header nav {
            float: none;
            clear: left;
            padding-top: 15px;
        }

        header nav a {
            margin-left: 20px;
        }

        header nav span.vr {
            margin-left: 20px;
        }
    }

    @media only screen and (max-width: 1160px) {
        main>section {
            background-position: right 20px bottom 0;
            background-size: 192px auto;
        }

        footer>section {
            background-position: right 20px top 0;
            background-size: 192px auto;
            min-height: 112px;
        }
    }

    @media only screen and (max-width: 1240px) {

        header>section,
        footer>section,
        main>section {
            box-sizing: border-box;
            padding-left: 20px;
            padding-right: 20px;
            max-width: 100%;
        }
    }

    @media only screen and (max-width: 1100px) {
        aside {
            float: none;
            clear: both;
            max-width: 100%;
            margin: 0;
            padding: 40px 0 20px;
        }
    }

    /**
 * General
 */

    p.note {
        color: #fff;
        padding: 0.5em 0.8em 0.5em 0.8em;
        border-radius: 3px;
        background-color: #7a94b8;
        font-style: italic;
    }

    p.note a {
        color: #fff;
    }

    p.note span.setting {
        background-color: rgba(255, 255, 255, 0.3);
    }

    /**
 * Homepage
 */
    div#masthead {
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#5c4785', endColorstr='#428a8a')";
        /* IE 8-9 */
        background: linear-gradient(-40deg, #9a326b 0, #42668a 100%);
        overflow: hidden;
    }

    div#masthead section {
        width: 1200px;
        margin: 25px auto 0;
    }

    div#masthead section.screencast {
        clear: right;
        margin-top: 0;
        padding-top: 25px;
    }

    div#masthead section.screencast div.wrap {
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
        overflow: hidden;
        position: relative;
    }

    /* These styles have the box corners follow the title bar corner radius
 * so that the box-shadow doesn't leave empty sharp corners. Percentages
 * are used so when the width is scaled for narrow viewports, the radius
 * is still correct. */
    div#masthead section.screencast div.wrap.plat_osx {
        border-radius: 0.79% 0.79% 0 0 / 1.57% 1.57% 0 0;
    }

    div#masthead div.wrap.plat_osx #title-overlay {
        border-radius: 0.82% 0.82% 0 0 / 1.35% 1.35% 0 0;
    }

    div#masthead section.screencast div.wrap.plat_linux {
        border-radius: 0.7% 0.7% 0 0 / 1.4% 1.4% 0 0;
    }

    div#masthead div.wrap.plat_linux #title-overlay {
        border-radius: 0.7% 0.7% 0 0 / 1.1% 1.1% 0 0;
    }

    div#masthead>section {
        position: relative;
    }

    section#merge-footer {
        min-height: auto;
    }

    section#merge-footer #callout {
        background-color: rgba(0, 0, 0, 0.1);
        border-radius: 4px;
        padding: 10px 15px;
        color: #555;
        width: 300px;
        height: 150px;
        overflow: hidden;
        line-height: 1.2;
        margin: 30px auto 0;
    }

    section#merge-footer #callout a {
        color: #555;
        text-decoration: none;
        display: block;
    }

    section#merge-footer #callout img#merge-screenshot {
        max-width: 450px;
        margin-top: 8px;
        width: 450px;
        display: block;
    }

    section#merge-footer #callout img.icon {
        position: relative;
        width: 20px;
        top: 4px;
        margin-right: 3px;
    }

    section#merge-footer #callout span.subhead {
        font-size: 0.9em;
        opacity: 0.8;
    }

    #anim_container {
        position: relative;
        overflow: hidden;
    }

    #fallback {
        position: relative;
        display: none;
    }

    #title-overlay {
        padding-top: 13%;
        color: #fff;
        background-color: rgba(32, 32, 32, 0.8);
        top: 0;
        left: 0;
        position: absolute;
        width: 100%;
        height: 100%;
        font-size: 2em;
        transition: opacity 0.2s ease-in-out;
        -webkit-transition: opacity 0.2s ease-in-out;
        opacity: 0;
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
        /* IE 8 */
    }

    #title-overlay.show {
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100), progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#80202020', endColorstr='#80202020')";
        /* IE 8 */
        opacity: 1;
    }

    #title-overlay div {
        text-align: center;
        max-width: 896px;
        margin: 0 auto;
    }

    #title-overlay div span.feature {
        color: #ddd;
    }


    div#masthead section div.tagline {
        color: #fff;
        text-align: center;
        box-sizing: border-box;
        width: 100%;
        font-weight: bold;
        font-size: 3em;
        line-height: inherit;
    }

    div#masthead section div.tagline span {
        padding: 5px 10px;
        background-color: rgba(0, 0, 0, 0.1);
        -webkit-box-decoration-break: clone;
        box-decoration-break: clone;
        border-radius: 3px;
    }

    #screencast-title-bar {
        width: 1200px;
        margin: 0 auto;
        display: block;
        height: 28px;
        background-color: rgba(32, 32, 32, 0.8);
    }

    #screencast-title-bar.plat_linux {
        height: 47px;
    }

    #screencast-title-bar.plat_windows {
        height: 28px;
    }

    canvas {
        display: block;
    }

    section.screencast-meta {
        width: auto;
        margin: 0 auto;
        padding: 10px 40px 15px;
        font-size: 0.9em;
        color: #777;
        background-color: #fff;
        min-height: 105px;
        max-width: 1200px;
        box-sizing: border-box;
        border-top: none;
        border-radius: 0 0 4px 4px;
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.08);
        position: relative;
        background-image: none;
    }

    section.screencast-meta .captions>div>b {
        display: block;
        margin-bottom: 5px;
    }

    section.screencast-meta .buttons {
        position: absolute;
        right: 1px;
        top: 5px;
    }

    section.screencast-meta .buttons a {
        text-decoration: none;
        color: #999;
        transition: color 0.15s ease-in-out;
        -webkit-transition: color 0.15s ease-in-out;
    }

    section.screencast-meta .buttons a:hover {
        color: #666;
    }

    section.screencast-meta .buttons svg {
        fill: currentColor;
        padding: 2px 4px;
    }

    section.screencast-meta .buttons #button-play {
        display: none;
    }

    section.screencast-meta #indicators {
        position: absolute;
        text-align: center;
        top: -3px;
        width: 100%;
    }

    section.screencast-meta a {
        text-decoration: none;
        padding: 2px 4px;
        display: inline-block;
    }

    section.screencast-meta a .jump {
        border-radius: 2px;
        background-color: #ccc;
        height: 4px;
        width: 35px;
        display: inline-block;
        transition: background-color 0.15s ease-in-out;
        -webkit-transition: background-color 0.15s ease-in-out;
    }

    section.screencast-meta a.active .jump {
        background-color: #888;
    }

    section.screencast-meta a:hover .jump {
        background-color: #666;
    }

    div.theme-selector {
        position: absolute;
        top: -10px;
    }

    div.os-selector {
        position: absolute;
        top: -10px;
        right: 0;
    }

    div.theme-selector a,
    div.os-selector a {
        border: 1px solid #ccc;
        background-color: rgba(238, 238, 238, 0.8);
        text-decoration: none;
        color: #666;
        font-size: 0.8em;
    }

    div.theme-selector a#theme-selector-dark,
    div.os-selector a#os-selector-linux {
        border-right: none;
        padding: 0 8px 1px 12px;
        border-radius: 3px 0 0 3px;
        float: left;
    }

    div.os-selector a#os-selector-linux {
        float: right;
    }

    div.os-selector a#os-selector-mac {
        border-left: none;
        border-right: none;
        padding: 0 8px 1px 12px;
        border-radius: 0;
        float: right;
    }

    div.theme-selector a#theme-selector-light,
    div.os-selector a#os-selector-windows {
        border-left: none;
        padding: 0 12px 1px 10px;
        border-radius: 0 3px 3px 0;
        float: right;
    }

    div.theme-selector a.current,
    div.os-selector a.current {
        background-color: rgba(204, 204, 204, 0.8);
    }

    div#masthead div.download {
        text-align: center;
        margin: 20px auto 25px;
    }

    div.download div {
        display: inline-block;
    }

    div.download .button {
        padding-left: 20px;
    }

    div.download .button span {
        display: none;
    }

    div.download .button a {
        display: inline-block;
        background-color: #407fbf;
        color: #fff;
        border-radius: 3px;
        letter-spacing: 0.5px;
        text-transform: uppercase;
        text-decoration: none;
        padding: 8px 15px;
        transition: background-color 0.15s ease-in-out;
        -webkit-transition: background-color 0.15s ease-in-out;
    }

    div.download .button a:hover {
        background-color: #369;
    }

    div.download .current_version,
    div.download .changelog {
        margin-left: 20px;
        color: rgba(255, 255, 255, 0.8);
    }

    div.download .changelog {
        padding-right: 20px;
    }

    div.download .changelog a {
        color: rgba(255, 255, 255, 0.8);
    }

    html.plat_windows.arch_64 div.download .button span.win.show_64 {
        display: block;
    }

    html.plat_windows.arch_32 div.download .button span.win.show_32 {
        display: block;
    }

    html.plat_linux div.download .button span.linux {
        display: block;
    }

    html.plat_osx div.download .button span.mac {
        display: block;
    }

    h2.love {
        text-align: center;
        margin: 1.2em 0 0;
        font-size: 34px;
        line-height: 54px;
        font-weight: normal;
    }

    h2.love span {
        padding: 3px 10px;
        background-color: rgba(0, 0, 0, 0.05);
        -webkit-box-decoration-break: clone;
        box-decoration-break: clone;
        border-radius: 3px;
    }

    @media only screen and (max-width: 1240px) {
        div.os-selector {
            right: 20px;
        }
    }

    @media only screen and (max-width: 1024px) {
        div#masthead section div.tagline {
            text-align: left;
        }

        div#masthead div.download {
            text-align: left;
        }

        div#masthead div.download .button {
            padding-left: 0;
        }
    }

    @media only screen and (max-width: 820px) {

        div.download .button,
        div.download .current_version,
        div.download .changelog {
            display: block;
            padding: 0;
            margin: 0;
        }

        div.download .button {
            margin-bottom: 5px;
        }

        #title-overlay {
            font-size: 1.4em;
        }

        img {
            max-width: 100%;
            width: auto;
            height: auto;
        }

        div#masthead section div.tagline {
            font-size: 30px;
            line-height: 46px;
            text-align: center;
        }

        div#masthead div.download {
            text-align: center;
        }

        div#masthead #merge-screenshot {
            position: absolute;
            top: 5px;
            left: 200px;
        }
    }

    @media only screen and (max-width: 700px) {
        div.new-feature {
            width: auto;
        }
    }

    @media only screen and (max-width: 1000px) {
        section.screencast-meta {
            padding-top: 20px;
        }

        #title-overlay {
            font-size: 1.6em;
        }
    }

    @media only screen and (max-width: 1240px) {
        div#masthead section {
            /* Account for switch to border-box */
            width: 1240px;
            box-sizing: border-box;
            padding-left: 20px;
            padding-right: 20px;
            max-width: 100%;
        }

        #screencast-title-bar {
            width: 100%;
            height: auto;
            box-sizing: border-box;
        }

        #screencast-title-bar.plat_linux,
        #screencast-title-bar.plat_windows {
            height: auto;
        }

        section.screencast-meta {
            width: auto;
            margin: 0 20px;
            padding-left: 20px;
            padding-right: 20px;
        }

        section.screencast-meta div.captions {
            max-width: 100%;
        }

        canvas {
            max-width: 100%;
        }
    }

    /**
 * Download pages
 */

    div.release-date {
        margin-top: -1em;
        font-style: italic;
        margin-bottom: 1em;
        font-size: 0.9em;
        color: #888;
    }

    div.downloads {
        margin: 1em 0;
        background-color: #fff;
        border-radius: 3px;
        padding: 10px 15px 15px;
        border: 1px solid #ddd;
    }

    div.downloads *:first-child {
        margin-top: 0;
    }

    div.downloads *:last-child {
        margin-bottom: 0;
    }

    section#changelog article {
        padding: 1em 1em 0.5em;
        border-top: 1px solid #ddd;
    }

    section#changelog article h3 {
        margin-top: 0;
    }

    section#changelog article h4,
    article.post h4 {
        margin: 0.7em 0 0.3em;
    }

    section#changelog article ul.topic,
    article.post ul.topic,
    article.changelog ul.topic {
        margin: 0.3em 0;
    }

    section#changelog article.current {
        border-left: 3px solid #A8B3C2;
    }

    p.eval,
    p.beta,
    p.windows-only {
        font-style: italic;
        color: #777;
    }

    p.latest {
        margin-bottom: 0;
        font-weight: bold;
        color: #777;
    }

    p.newer,
    p.unmaintained {
        font-size: 1.1em;
        color: #fff;
        padding: 0.5em 0 0.5em 1em;
        border-radius: 3px;
        background-color: #d69d5c;
    }

    p.unmaintained {
        background-color: #bd7575;
    }

    p.newer a,
    p.unmaintained a {
        color: #fff;
    }

    #dl {
        margin-top: 0.2em;
        list-style-type: circle;
    }

    html.plat_osx #dl_osx,
    html.plat_linux #dl_linux,
    html.plat_windows.arch_64 #dl_win_64,
    html.plat_windows.arch_32 #dl_win_32 {
        list-style-type: disc;
        font-weight: bold;
    }

    #direct-downloads {
        display: none;
    }

    #direct-downloads.show {
        display: block;
    }

    #direct-downloads em,
    #direct-downloads em a {
        color: #777;
    }

    /**
 * Blog
 */

    article.post h2 {
        margin-top: 1em;
    }

    aside+article.post h2 {
        margin-top: 0;
    }

    div.meta span {
        display: inline-block;
        font-size: 0.9em;
        font-style: italic;
    }

    div.meta span.date {
        color: #999;
    }

    div.meta span.author {
        margin-right: 2em;
        color: #999;
    }

    div.meta span.by {
        color: #aaa;
        margin-left: 0.3em;
        margin-right: 0.1em;
    }

    article.post div.meta {
        margin-top: -1em;
        margin-bottom: 1em;
    }

    article.post {
        border-top: 1px solid #ddd;
        margin-bottom: 2em;
    }

    aside+article.post {
        border-top: none;
    }

    h1+div.meta {
        margin-top: -1.1em;
        margin-bottom: 1em;
    }

    div.rss {
        padding-top: 20px;
        float: right;
        width: calc(100% - 848px);
        margin-bottom: 0;
    }

    a.rss img {
        width: 16px;
        height: 16px;
        border: none;
        position: relative;
        bottom: -3px;
        padding-right: 5px;
        display: inline;
    }

    @media only screen and (max-width: 1100px) {
        div.rss {
            width: auto;
            padding-right: calc(100% - 800px);
            float: right;
            box-sizing: border-box;
        }

        a.rss {}
    }

    aside section.archives h3 {
        margin-top: 0;
    }

    div.primary:after {
        content: "";
        display: table;
        clear: both;
    }

    a.blog_nav.left {
        padding-right: 10px;
    }

    a.blog_nav.left img {
        padding-right: 3px;
    }

    a.blog_nav.right img {
        padding-left: 3px;
    }

    article.changelog {
        border-left: 3px solid #A8B3C2;
        padding: 0.5em 1em 0.5em;
    }

    article.changelog>h3:first-child {
        margin-top: 0;
    }

    /**
 * Buy
 */

    section.form,
    form section {
        background-color: #fff;
        border-radius: 3px;
        padding: 10px 15px 15px;
        border: 1px solid #ddd;
        width: 400px;
        margin: 1.5em 0;
    }

    section.form>h3:first-child,
    form section>h3:first-child {
        margin-top: 0;
    }

    section.form *:last-child,
    form section *:last-child {
        margin-bottom: 0;
    }

    section.form h3,
    form section h3 {
        margin-bottom: 0.3em;
        margin-top: 0.5em;
    }

    form table {
        width: 100%;
    }

    form td,
    form th {
        padding: 2px 0;
    }

    form th {
        padding-right: 10px;
    }

    form#f {
        margin-top: 1.5em;
    }

    #buyform .price {
        font-weight: bold;
    }

    #buyform .buttons {
        margin-top: 0.5em;
    }

    #buyform .buttons .card {
        background-color: #A8B3C2;
        margin-right: 0.5em;
    }

    #buyform .buttons .card:hover {
        background-color: #8796ab;
    }

    #buyform .buttons .paypal {
        background-color: #A8B3C2;
    }

    #buyform .buttons .paypal:hover {
        background-color: #8796ab;
    }

    #quantity_section {
        margin-top: 1em;
        margin-bottom: 1.8em;
    }

    #quantity_section table {
        width: auto;
    }

    #quantity_section th {
        padding-right: 10px;
    }

    #quantity_section tr.pricing {
        font-size: 0.85em;
        color: #777;
        font-style: italic;
    }

    #quantity_section tr.pricing th {
        text-align: right;
    }

    section.notes {
        margin-top: 1.5em;
    }

    section.notes p {
        font-size: 0.85em;
        font-style: italic;
        color: #777;
    }

    .license-for td {
        padding-top: 10px;
    }

    .info_msg {
        font-size: smaller;
        color: #777;
        font-style: italic;
    }

    pre.license_key {
        margin: 1em 0;
        background-color: #fff;
        border-radius: 3px;
        padding: 10px 15px 15px;
        border: 1px solid #ddd;
    }

    /**
 * Docs
 */

    body.docs h1 {
        margin-bottom: 22px;
    }

    body.docs:not(.top-level) h1 span {
        display: inline-block;
        line-height: 42px;
        top: 4px;
        padding-top: 18px;
        min-width: 125px;
    }

    body.docs h1>span>nav {
        font-size: 0.85rem;
        line-height: 1.2rem;
        top: 4px;
        left: 10px;
        color: #888;
        position: absolute;
        padding-left: 0;
        transition: padding-left 100ms 50ms;
    }

    body.docs h1>span>nav>a {
        text-transform: uppercase;
        display: inline;
        color: #888;
    }

    body.docs h1>span>nav>a:hover {
        color: #666;
    }

    body.docs h1>span>nav>a.divider {
        margin-left: 1em;
        border-left: 1px solid #bbb;
    }

    body.docs h1>span>nav>a.jump {
        margin-left: 1em;
    }

    body.docs h1>span>nav::before {
        content: " ";
        position: absolute;
        top: 0;
        left: 0;
        display: block;
        width: 18px;
        height: 16px;
        background-image: url(/favicon.ico);
        background-repeat: no-repeat;
        background-position: left 0 top 2px;
        background-size: 16px auto;
        opacity: 0;
        transition: opacity 50ms 0ms;
    }

    body.docs.dev-build h1 span {
        min-width: 200px;
    }

    body.docs.top-level h1 {
        margin-bottom: 0.5em;
    }

    body.docs.top-level h1 span {
        padding-top: 2px;
        top: 0;
    }

    body.docs h2 {
        border-bottom: 1px dotted #ddd;
    }

    body.docs main>section>section.wide {
        max-width: none;
        overflow-x: auto;
    }

    span.best-value,
    body.docs span.new,
    article.changelog span.new,
    body.docs span.updated {
        color: white;
        padding: 0 5px 0;
        border-radius: 2px;
        font-size: 0.8em;
        display: inline-block;
        margin-left: 0.8em;
    }

    span.best-value,
    body.docs span.new,
    article.changelog span.new {
        background-color: #f09642;
    }

    body.docs span.updated {
        background-color: #92c3c3;
    }

    article.changelog h3 span.new {
        font-size: 0.8rem;
        text-transform: none;
        position: relative;
        top: -2px;
    }

    div.column {
        float: left;
        margin-right: 3em;
        margin-bottom: 1em;
    }

    div.column:last-child {
        margin-right: 0;
    }

    div.column h3 {
        margin-top: 0;
    }

    div.column.half {
        margin-right: 4%;
        width: 48%;
    }

    div.column.half.odd {
        clear: left;
    }

    div.column.half.even {
        margin-right: 0;
    }

    @media (max-width: 1024px) {

        div.column,
        div.column.half,
        div.column.half.odd,
        div.column.half.even {
            clear: none;
            float: none;
            margin: 0;
            width: auto;
        }
    }

    table.api {
        padding-top: 1em;
        width: 100%;
        border-spacing: 0;
        margin-bottom: 1em;
        line-height: 1.2;
    }

    table.api th {
        background-color: #eee;
        padding: 5px 6px;
        text-align: left;
        vertical-align: top;
    }

    table.api th:first-child {
        width: 30%;
        border-top-left-radius: 2px;
        border-bottom-left-radius: 2px;
    }

    table.api th:last-child {
        width: 56%;

        border-top-right-radius: 2px;
        border-bottom-right-radius: 2px;
    }

    table.api td {
        padding: 5px 6px;
        vertical-align: top;
        font-size: 0.9em;
        line-height: 1.4;
        border-bottom: solid 1px #ddd;
    }

    table.api td.tags,
    table.api th.tags {
        width: 65px;
        text-align: right;
    }

    table.enum {
        width: 100%;
        margin: 15px 0 15px 10px;
    }

    table.enum td,
    table.enum th {
        padding: 5px 3px;
        line-height: 26px;
        /* provides a consistent baseline with <code> and text */
        border-bottom: 1px solid #ddd;
    }

    table.enum th {
        font-weight: bold
    }

    table.selectors td.scope_name {
        width: 35%;
    }

    table.selectors td.selector {
        width: 35%;
    }

    table.selectors td.scope_name,
    table.selectors td.selector {
        padding-right: 20px;
        font-family: "Roboto Mono", monospace;
        font-size: 14px;
    }

    div.added {
        font-style: italic;
        color: #999;
    }

    div.versions {
        /* JS is used to unhide since JS is required for this functionality */
        display: none;
        position: absolute;
        top: 11px;
        right: 0;
    }

    div.versions.enabled {
        display: block;
    }

    div.versions.enabled.pinned {
        position: fixed;
        top: 7px;
        /* 100vw - (100vw - 100%) calculates the width without scroll bar */
        right: calc(((100vw - (100vw - 100%) - 1140px) / 2));
        z-index: 3;
    }

    body.docs h1.pinned {
        position: relative;
        z-index: 2;
    }

    body.docs h1.pinned div.background {
        background: rgba(241, 241, 241, 0.929);
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
    }

    body.docs h1.pinned>span {
        background-color: transparent;
        position: fixed;
        top: 0;
        margin-top: 0;
        left: calc(((100vw - (100vw - 100%) - 1140px) / 2) - 10px);
    }

    body.docs h1.pinned>span>nav {
        padding-left: 18px;
        transition: padding-left 100ms 0ms;
        min-width: 250px;
    }

    body.docs h1.pinned>span>nav::before {
        transition: opacity 200ms 100ms;
        opacity: 1.0;
    }

    @media only screen and (max-width: 1240px) {
        body.docs h1.pinned>span {
            left: calc(((100vw - (100vw - 100%) - 1140px) / 2) + 10px);
        }

        div.versions.enabled.pinned {
            right: calc(((100vw - (100vw - 100%) - 1140px) / 2) + 20px);
        }
    }

    @media only screen and (max-width: 1240px) {
        div.versions {
            right: 20px;
        }
    }

    @media only screen and (max-width: 1140px) {
        body.docs h1.pinned>span {
            left: 10px;
        }

        div.versions.enabled.pinned {
            right: 20px;
        }
    }

    @media only screen and (max-width: 700px) {
        body.docs h1>span {
            max-width: calc(100vw - (100vw - 100%) - 60px);
        }

        div.versions.enabled {
            text-align: right;
        }

        div.versions.enabled span.expanded {
            display: none;
        }

        div.versions.enabled a.ver-sel {
            display: none;
            float: right;
            clear: right;
            line-height: 1.2em;
            margin-top: 3px;
        }

        div.versions.enabled.expanded a.ver-sel,
        div.versions.enabled a.ver-sel.active {
            display: block;
        }
    }

    section.filtered,
    table.api tr.filtered,
    table.api dt.filtered,
    table.api dd.filtered,
    li.filtered,
    dt.filtered,
    dd.filtered,
    div.filtered,
    span.filtered,
    pre.filtered,
    ul.filtered,
    p.filtered,
    h2.filtered,
    h3.filtered,
    h4.filtered {
        opacity: 0.4;
    }

    span.outlined {
        border-radius: 3px;
        background-color: #eee;
        padding-bottom: 2px;
        box-shadow: 2px 0 0 1px #eee, -2px 0 0 1px #eee;
        box-decoration-break: clone;
        -webkit-box-decoration-break: clone;
    }

    div.alternate-dir {
        background-color: #f3f3f3;
        border: 1px solid #ddd;
        border-radius: 3px;
        padding: 10px 15px 15px;
        font-style: italic;
        color: #777;
    }

    div.alternate-dir p {
        margin-top: 0;
    }

    div.alternate-dir ul {
        margin-bottom: 0;
    }

    div.versions a.ver-sel {
        color: white;
        background-color: #999;
        border-radius: 3px;
        padding: 1px 8px 2px;
        text-decoration: none;
    }

    div.versions a.ver-sel:hover {
        background-color: #777;
    }

    div.versions a.ver-sel.active {
        background-color: #f09642;
    }

    span.build,
    span.python,
    span.proprietary,
    span.platform,
    span.required {
        display: inline-block;
        line-height: 1.2;
        color: white;
        border-radius: 3px;
        font-size: 13px;
        padding: 1px 3px 1px;
        font-style: normal;
        text-transform: uppercase;
        position: relative;
        top: -1px;
    }

    h2 span.build,
    h2 span.python,
    h2 span.proprietary,
    h2 span.platform,
    h3 span.build,
    h3 span.python,
    h3 span.proprietary,
    h3 span.platform,
    h4 span.build,
    h4 span.python,
    h4 span.proprietary,
    h4 span.platform {
        margin-left: 8px;
        position: relative;
        top: -2px;
    }

    h4 span.build,
    h4 span.python,
    h4 span.proprietary,
    h4 span.platform {
        top: -1px;
    }

    span.build {
        background-color: #92c3c3;
    }

    p.available_since span.added {
        border-top-left-radius: 3px;
        border-bottom-left-radius: 3px;
        line-height: 1.2;
        padding: 2px 5px 2px;
        display: inline-block;
        font-style: italic;
        background-color: #e8f2f2;
        color: #777;
    }

    p.available_since span.version {
        background-color: #92c3c3;
        display: inline-block;
        line-height: 1.2;
        color: white;
        border-top-right-radius: 3px;
        border-bottom-right-radius: 3px;
        padding: 2px 5px 2px;
    }

    span.python {
        background-color: #876bc7;
    }

    span.python.filtered {
        display: none;
    }

    span.platform {
        background-color: #4285f0;
    }

    span.proprietary {
        background-color: #e0876c;
    }

    span.build.removed {
        display: none;
    }

    .filtered span.build.removed {
        display: inline-block;
    }

    .filtered.hide_on_filter {
        display: none;
    }

    .tab.filtered,
    .tab-content.filtered {
        display: none;
    }

    .switchers {
        display: none;
    }

    .switchers.enabled {
        display: block;
    }

    pre.cli {
        white-space: pre-wrap;
    }

    table.api dl.parameters dt {
        font-family: "Roboto Mono", monospace;
    }

    table.api dl.parameters dt span.build {
        font-family: "Lato", Arial, sans-serif;
    }

    table.api dl.parameters dd {
        margin-left: 2em;
    }

    div.pre_constructed,
    div.custom_built {
        float: left;
        width: 48%;
    }

    div.pre_constructed {
        margin-right: 4%;
    }

    table.api td.rtn {
        min-width: 100px;
    }

    table.api td.mth,
    table.api td.rtn {
        font-family: "Roboto Mono", monospace;
    }

    table.api td.rtn {
        font-size: 0.9em;
        color: #888;
    }

    table.api td.rtn>span.data-type,
    table.api td.rtn>code {
        color: #555;
    }

    table.api td.rtn>em {
        display: block;
        font-size: 0.8em;
        padding-left: 4px;
    }

    table.api td.mth {
        padding-left: 24px;
        text-indent: -18px;
    }

    table.api td.dsc tt,
    table.api td.dsc code,
    table.api td.dsc span.setting,
    table.api td.dsc span.command,
    table.api td.dsc span.key,
    table.api td.dsc span.property,
    table.api td.dsc span.attribute,
    table.api td.dsc span.element,
    table.api td.dsc span.parameter,
    table.api td.dsc span.method,
    table.api td.dsc span.attribute,
    table.api td.dsc span.data-type,
    table.api td.dsc span.file,
    table.api td.rtn code,
    table.api td.rtn span.data-type {
        font-size: 0.9em;
    }

    table.api td.dsc p:first-child {
        margin-top: 0;
    }

    dl.enum {
        margin-left: 10px;
        max-width: 800px;
        line-height: 1.4;
    }

    a.properties,
    a.attributes {
        display: block;
        margin: 5px 0 0 10px;
    }

    dt>span+span.data-type {
        display: inline-block;
        margin-left: 0.5em;
        opacity: 0.7;
    }

    dt span.required {
        margin-left: 0.5em;
        font-style: normal;
        background-color: #4db352;
    }

    table.kinds th {
        font-weight: bold;
    }

    table.kinds th.icon {
        min-width: 2.5em;
    }

    table.kinds td {
        vertical-align: middle;
        line-height: 1.2;
    }

    span.kind_container {
        display: inline-block;
        background-color: #3e474f;
        padding: 0;
        cursor: default;
    }

    span.kind {
        display: block;
        font-weight: bold;
        font-style: italic;
        padding: 0 5px 3px;
        min-width: 1em;
        text-align: center;
    }

    table.completions_popup {
        min-width: 300px;
        line-height: 1.2;
    }

    table.completions_popup td,
    table.completions_popup th {
        padding: 0;
    }

    table.completions_popup td.help {
        vertical-align: middle;
        padding: 0 5px;
    }

    table.completions_popup tr.selected td.trigger,
    table.completions_popup tr.selected td.annotation {
        background-color: #656c72;
    }

    table.completions_popup td.trigger {
        min-width: 150px;
        padding: 2px 5px;
        font-family: "Roboto Mono", monospace;
        font-size: 0.9em;
        color: #d8dee9;
        vertical-align: middle;
        background-color: #3e474f;
    }

    table.completions_popup td.annotation {
        text-align: right;
        font-style: italic;
        padding: 0 8px;
        font-family: "Roboto Mono", monospace;
        font-size: 0.9em;
        color: #d8dee9aa;
        vertical-align: middle;
        background-color: #3e474f;
    }

    table.completions_popup td.details {
        font-size: 0.8em;
        padding: 6px 5px 5px;
        background-color: #2f373f;
    }

    table.completions_popup td.details span.kind_name {
        color: #d8dee9;
        border: 1px solid #6699cc;
        border-radius: 2px;
        padding: 0 3px;
        margin-right: 8px;
        font-style: italic;
        line-height: 1.0;
    }

    table.completions_popup td.details a {
        color: #6699cc;
        text-decoration: underline;
    }

    ol.tuple {
        list-style-type: none;
        margin-left: 0;
        padding-left: 0;
    }

    ol.tuple>li:first-child {
        counter-reset: tuplecounter -1;
    }

    ol.tuple>li {
        counter-increment: tuplecounter;
    }

    ol.tuple>li:before {
        opacity: 0.8;
        content: counter(tuplecounter) ") ";
        text-indent: 0.5em;
        float: left;
        width: 2em;
    }

    dl.enum dd p.properties {
        margin: 0.5em 0 0.5em 10px;
    }

    dl.enum.settings,
    dl.enum.keys {
        margin-left: 10px;
    }

    dl.properties dd>code,
    dl.attributes dd>code,
    dl.enum.properties dd>code,
    dl.enum.attributes dd>code {
        background-color: #ececec;
    }

    /* clear children */
    dl.enum:after,
    dl.enum dl:after {
        content: "";
        display: table;
        clear: both;
    }

    dl.enum dt {
        display: block;
        margin: 12px 0 8px 0;
        background: none;
        float: left;
        clear: left;
        color: #222;
    }

    dl.enum dd dl>dt>span.property,
    dl.enum dd dl>dt>span.attribute,
    dl.enum dd dl>dt>span.element,
    dl.enum dd dl>dt>span.setting {
        font-family: "Roboto Mono", monospace;
        font-size: 14px;
        border-bottom: 1px solid #ccc;
    }

    dl.enum dt:first-child,
    dl.enum dt+dt {
        margin-top: 0;
    }

    dl.enum dt:last-child {
        margin-bottom: 0;
    }

    dl.enum dt em,
    dl.enum dd code em {
        opacity: 0.6;
    }

    dl.enum dd {
        clear: left;
        margin-left: 5px;
        padding-left: 15px;
    }

    dl.enum>dd {
        border-left: 1px solid #ddd;
    }

    dl.enum dd p:first-child {
        /* Since dt is floated left, we use padding instead of margin */
        padding-top: 5px;
    }

    dl.enum dd p,
    dl.enum dd ul,
    dl.enum dd ol {
        margin: 0.5em 0;
    }

    dl.enum dd h4 {
        margin: 0.5em 0 0 0;
        font-weight: normal;
        font-style: italic;
        font-size: 16px;
        text-transform: none;
    }

    dl.enum dd div.example {
        font-style: italic;
        border-left: 1px solid #ddd;
        padding-left: 10px;
    }

    dl.enum dd dl {
        margin: 5px 0 5px 10px;
        background-color: #fbfbfb;
        padding: 10px;
    }

    dl.enum dd dl dt {
        margin: 5px 0 0 0;
    }

    dl.enum dd dl dt a {
        font-family: "Lato", Arial, sans-serif;
        ;
        font-size: 1rem;
        text-decoration: none;
    }

    dl.repositories dt {
        margin-left: 20px;
        font-weight: bold;
        color: #777;
    }

    dl.repositories dd {
        margin-left: 20px;
    }

    dl.repositories dd pre {
        margin-top: 8px;
        white-space: pre-wrap;
    }

    pre.gpg-key,
    pre.install {
        margin-left: 20px;
        white-space: pre-wrap;
    }

    table.settings {
        border-spacing: 8px 8px;
    }

    table.settings td {
        vertical-align: top;
        border-spacing: 8px 8px;
    }

    table.settings td.setting {
        font-family: "Roboto Mono", monospace;
        font-size: 14px;
        padding-right: 1em;
    }

    table.controls {
        width: 100%;
        border-collapse: collapse;
        border: 1px solid #ddd;
    }

    table.controls.min {
        width: auto;
    }

    table.controls.min th,
    table.controls.min td {
        padding-left: 25px;
        padding-right: 25px;
    }

    table.controls th,
    table.controls td {
        padding: 4px 5px;
        text-align: center;
        border-left: 1px solid #ddd;
    }

    table.controls th:first-child,
    table.controls td:first-child {
        border-left: none;
    }

    table.controls thead {
        border-bottom: 1px solid #ddd;
    }

    table.controls thead th {
        background-color: #f3f3f3;
        font-weight: bold;
    }

    table.controls th.platform {
        color: #777;
        font-size: 0.9em;
        font-style: italic;
        padding-bottom: 0;
    }

    table.controls td.keys {
        padding-bottom: 8px;
    }

    table.controls tr.command td.keys {
        padding-top: 8px;
    }

    table.controls th.command {
        vertical-align: middle;
    }

    table.controls tr.command td,
    table.controls tr.command th {
        border-bottom: 1px solid #ddd;
    }

    table.controls tr.command:last-child td,
    table.controls tr.command:last-child th {
        border-bottom: none;
    }

    table.controls td.menu,
    table.controls td.palette {
        vertical-align: middle;
    }

    section.modules div.column {
        min-width: 150px;
    }

    section.modules:after {
        content: "";
        display: table;
        clear: both;
    }

    /* Fonts */

    @font-face {
        font-family: 'Lato';
        font-style: italic;
        font-weight: 400;
        src: local('Lato Italic'), local('Lato-Italic'),
            url('/fonts/lato-v16-latin-italic.woff2') format('woff2'),
            url('/fonts/lato-v16-latin-italic.woff') format('woff');
    }

    @font-face {
        font-family: 'Lato';
        font-style: normal;
        font-weight: 400;
        src: local('Lato Regular'), local('Lato-Regular'),
            url('/fonts/lato-v16-latin-regular.woff2') format('woff2'),
            url('/fonts/lato-v16-latin-regular.woff') format('woff');
    }

    @font-face {
        font-family: 'Lato';
        font-style: normal;
        font-weight: 700;
        src: local('Lato Bold'), local('Lato-Bold'),
            url('/fonts/lato-v16-latin-700.woff2') format('woff2'),
            url('/fonts/lato-v16-latin-700.woff') format('woff');
    }

    @font-face {
        font-family: 'Lato';
        font-style: italic;
        font-weight: 700;
        src: local('Lato Bold Italic'), local('Lato-BoldItalic'),
            url('/fonts/lato-v16-latin-700italic.woff2') format('woff2'),
            url('/fonts/lato-v16-latin-700italic.woff') format('woff');
    }

    @font-face {
        font-family: 'Roboto Mono';
        font-style: normal;
        font-weight: 400;
        src: local('Roboto Mono'), local('RobotoMono-Regular'),
            url('/fonts/roboto-mono-v7-latin-regular.woff2') format('woff2'),
            url('/fonts/roboto-mono-v7-latin-regular.woff') format('woff');
    }

    @font-face {
        font-family: 'Roboto Mono';
        font-style: normal;
        font-weight: 700;
        src: local('Roboto Mono Bold'), local('RobotoMono-Bold'),
            url('/fonts/roboto-mono-v7-latin-700.woff2') format('woff2'),
            url('/fonts/roboto-mono-v7-latin-700.woff') format('woff');
    }

    /* TEMP: backwards compat styles ; */

    body.docs h1>span>a {
        font-size: 0.85rem;
        line-height: 1.2rem;
        top: 4px;
        left: 10px;
        color: #888;
        position: absolute;
        padding-left: 0;
        transition: padding-left 100ms 50ms;
        text-transform: uppercase;
    }

    .token.comment,
    .token.prolog,
    .token.doctype,
    .token.cdata {
        color: #777;
    }

    .token.punctuation {
        color: #444;
    }

    .token.null,
    .token.operator,
    .token.boolean {
        color: #ba8baf;
    }

    .token.property {
        color: #3c97dd;
    }

    .token.number,
    .token.tag {
        color: #d2322d;
    }

    .token.string {
        color: #9dbf40;
    }

    .token.selector {
        color: #ba8baf;
    }

    .token.attr-name {
        color: #f09642;
    }

    .token.entity,
    .token.url,
    .language-css .token.string,
    .style .token.string {
        color: #9dbf40;
    }

    .token.attr-value,
    .token.keyword,
    .token.control,
    .token.directive,
    .token.unit {
        color: #9dbf40;
    }

    .token.statement,
    .token.regex,
    .token.atrule {
        color: #9dbf40;
    }

    .token.placeholder,
    .token.variable {
        color: #3c97dd;
    }

    .token.important {
        color: #d2322d;
        font-weight: bold;
    }

    .token.entity {
        cursor: help;
    }

    .section {
        clear: both;
        padding: 20px;
        margin: 0 auto;
        margin-left: auto;
        margin-right: auto;
        max-width: 1060px;
        display: flex;
        justify-content: center;
    }

    div.section.group.narrow {
        padding: 10px;
    }

    section.screencast-meta {
        color: #444;
        margin-bottom: 16px;
    }

    .section img {
        display: block;
        margin: auto;
        max-width: 100%;
        max-height: 100%;
    }

    .section img.screenshot {
        border-radius: 4px;
        width: 100%;
        max-width: 480px;
        height: auto;
    }

    .section img.icon {
        max-height: 80px;
    }

    main>section.swimlane {
        max-width: 1200px;
        width: auto;
        padding: 0;
        background-image: none;
        background-color: #fff;
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.08);
        border-radius: 4px 4px 0 0;
    }

    body#homepage footer>section,
    body#download-thanks footer>section {
        box-sizing: border-box;
        max-width: 1200px;
        width: auto;
        margin: 0 auto;
        padding-left: 20px;
        padding-right: 20px;
    }

    @media only screen and (max-width: 1240px) {
        main>section.swimlane {
            width: auto;
            margin-left: 20px;
            margin-right: 20px;
        }

        body#homepage footer>section,
        body#download-thanks footer>section {
            width: auto;
            margin-left: 20px;
            margin-right: 20px;
        }
    }

    section.swimlane>section {
        max-width: none;
        padding: 20px 0;
    }

    section.swimlane>section:nth-child(even) {
        background-color: #856a93;
        color: white;
    }

    section.swimlane>section:last-child {
        background-image: url(/images/icon_grey_top.svg);
        background-repeat: no-repeat;
        background-position: right 32px bottom 0;
        background-size: 256px auto;
    }

    @media only screen and (max-width: 1240px) {
        section.swimlane>section:last-child {
            background-position: right calc() bottom 0;
        }
    }

    @media only screen and (max-width: 1160px) {
        section.swimlane>section:last-child {
            background-position: right 20px bottom 0;
            background-size: 192px auto;
        }
    }

    /*  COLUMN SETUP  */
    .col {
        display: block;
        float: left;
        margin: 0 0 0 4%;
    }

    .col:first-child {
        margin-left: 0;
    }

    /*  GROUPING  */
    .group:before,
    .group:after {
        content: "";
        display: table;
    }

    .group:after {
        clear: both;
    }

    .group {
        zoom: 1;
        /* For IE 6/7 */
    }

    /*  GRID OF SIX  */
    .span_6_of_6 {
        width: 100%;
    }

    .span_5_of_6 {
        width: 82.66%;
    }

    .span_4_of_6 {
        width: 62.66%;
    }

    .span_3_of_6 {
        width: 48%;
    }

    .span_2_of_6 {
        width: 30.66%;
    }

    .span_1_of_6 {
        width: 13.33%;
    }


    .section.features {
        display: block;
        margin-top: 2em;
    }

    .features .feature {
        width: 16.66%;
        float: left;
        margin: 0;
    }

    img.social_icon {
        position: absolute;
        right: 1rem;
        width: 1rem;
        height: 1rem;

    }

    img.profile_picture {
        width: 3rem;
        height: 3rem;
        border-radius: 50%;
        border: 2px solid white;
        box-shadow: 1px 1px 5px #3a3a3a4d;
        margin: 0px auto 8px auto;
    }

    .review {
        display: inline-block;
        position: relative;
        background-color: white;
        border-radius: 4px;
        box-shadow: 1px 1px 5px #3a3a3a4d;
        padding: 1em;
    }

    .review_header {
        display: flex;
        flex-direction: column;
        text-align: center;
    }

    a.reviewer {
        text-decoration: none;
        color: #888;
        font-size: 0.8rem;
    }

    .review_body {
        display: flex;
        flex-direction: column;
        color: #555;
    }

    .twitter_follow i {
        position: relative;
        top: 2px;
        display: inline-block;
        width: 14px;
        height: 14px;
        background-image: url("/icons/twitter.svg");
    }

    .twitter_follow a:hover {
        background-color: #0c7abf;
        color: white;
    }

    .twitter_follow a {
        display: inline-block;
        height: 20px;
        box-sizing: border-box;
        padding: 1px 8px 1px 6px;
        background-color: #1b95e0;
        color: white;
        border-radius: 3px;
        font-weight: 500;
        cursor: pointer;
        font-size: 0.8rem;
        text-decoration: none;
    }

    .collapse_image {
        justify-items: center;
        display: flex;
    }

    @media only screen and (max-width: 820px) {
        div.theme-selector {
            top: -48px;
        }

        div.theme-selector a {
            line-height: 3.8;
        }

        .col:first-child {
            margin-left: auto;
        }

        .col {
            margin: 1% auto;
        }

        .span_1_of_6,
        .span_2_of_6,
        .span_3_of_6,
        .span_4_of_6,
        .span_5_of_6,
        .span_6_of_6 {
            width: 100%;
            max-width: 480px;
        }

        .section {
            display: flex;
            flex-flow: column;
        }

        .image {
            order: 2;
        }

        .collapse_image {
            display: none;
        }

        .text {
            order: 1;
        }

        .section img {
            margin: auto;
        }
    }

    @media only screen and (max-width: 1024px) {
        .features .feature {
            width: 33.33%;
        }

        .features .feature:nth-of-type(3n+1) {
            clear: left;
        }
    }

    @media only screen and (max-width: 640px) {
        .features .feature {
            width: 50%;
        }

        .features .feature:nth-of-type(2n+1) {
            clear: left;
        }

        .features .feature:nth-of-type(3n+1) {
            clear: none;
        }

        /* Overrides base CSS to make all images on phones 100% width */
        .features .feature img {
            width: initial;
        }
    }

    section.swimlane .span_6_of_6 h2 {
        margin-top: 0;
    }

    section.swimlane h2 {
        font-weight: bold;
        font-size: 2em;
        margin-top: 0.5em;
    }

    section.swimlane h2.centered {
        margin-top: 0;
        text-align: center;
        color: white;
    }

    section.swimlane h3 {
        text-align: center;
        font-size: 1.5em;
        margin-top: 0;
    }

    div.badge {
        margin: auto;
        width: 120px;
        min-height: 135px;
        padding: 12px;
        text-align: center;
        font-size: 1em;
        color: #555;
    }

    div.badge img {
        margin-bottom: 0.8em;
    }

    header a#logo img {
        width: 220px;
        height: 28px;
    }

    div.download {
        text-align: center;
    }

    div.download a.other_platforms,
    a.direct_downloads {
        display: inline-block;
        margin: 10px auto 0;
        color: white;
    }

    a.direct_downloads:hover {
        color: #d1d1d1;
    }


    a.direct_downloads:not([href]):hover {
        color: inherit;
    }


    .masthead-direct-downloads {
        max-width: 500px;
        margin: 0 auto;
        background-color: white;
        display: block;
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.08);
        border-radius: 4px;
    }

    div.download .button {
        padding-left: 0px;
    }

    img.product_card_icon {
        width: 5em;
        height: 5em;
        border: 2px solid white;
        margin: 0px 20px 0px 0px;
    }

    .product_card {
        min-height: 13em;
        display: flex;
        flex-direction: column;
        position: relative;
        background-color: white;
        border-radius: 4px;
        box-shadow: 1px 1px 5px #3a3a3a4d;
        padding: 1em;
        color: #555;
    }

    .product_card_header {
        display: flex;
        align-items: center;
    }

    .product_card_body {
        display: block;
    }

    .product_card_buttons {
        margin-top: auto;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .product_card_buttons>div.download {
        margin: 0 1em;

    }

    .footer_start {
        display: block;
        float: left;
        width: 50%;
    }

    .footer_end {
        display: block;
        float: left;
        width: 50%;
        text-align: end;
    }
    </style>
    <link rel="icon" href="https://www.sublimetext.com/favicon.ico">
    <link rel="icon" size="64x64" href="https://www.sublimetext.com/favicon.ico">
    <link rel="icon" sizes="192x192" href="https://www.sublimetext.com/images/icon.png">
    <link rel="apple-touch-icon-precomposed" sizes="192x192" href="https://www.sublimetext.com/images/icon.png">
    <script type="text/javascript">
    var plat = 'windows'
    if (/Mac OS X/.test(navigator.userAgent))
        plat = 'osx'
    else if (/Linux|FreeBSD/.test(navigator.userAgent))
        plat = 'linux'
    var arch = /WOW64|Win64|x86_64/.test(navigator.userAgent) ? '64' : '32'
    document.documentElement.className += ' plat_' + plat + ' arch_' + arch

    function byid(x) {
        return document.getElementById(x)
    }
    var scale = 1

    function res() {
        scale = window.devicePixelRatio >= 1.3 ? 2 : 1
        return scale == 2 ? '@2x' : ''
    }
    </script>
    <!--[if lt IE 9]>
    <script>
        var els = ['header', 'nav', 'section', 'main', 'article', 'aside', 'footer']
        for (var i = 0; i < els.length; ++i)
            document.createElement(els[i]);
    </script>
    <style>
        header, nav, section, main, article, aside, footer {
            display: block;
        }
    </style>
    <![endif]-->
</head>

<body class="docs">
    <header>
        <section>
            <a id="logo" href="https://www.sublimetext.com/">
                <img src="" alt="Sublime Text">
            </a>
            <nav>
                <a href="https://www.sublimetext.com/download">Download</a>
                <a href="https://www.sublimehq.com/store/text">Buy</a>
                <a href="https://www.sublimetext.com/support">Support</a>
                <span class="vr"></span>
                <a href="https://www.sublimetext.com/blog/">News</a>
                <a href="https://forum.sublimetext.com/">Forum</a>
            </nav>
        </section>
    </header>
    <main>
        <section>
            <h1><span>
                    <nav>
                        <a href="https://www.sublimetext.com/docs/index.html">Documentation</a>
                    </nav>
                    API Reference
                </span></h1>
            <div class="versions enabled">
                Ver<span class="expanded">sion</span>:<br>
                <a href="#ver-dev" class="ver-sel">Dev</a>
                <a href="#ver-4.0" class="ver-sel active" data-default="1">4.0</a>
                <a href="#ver-3.2" class="ver-sel">3.2</a>
                <a href="#ver-3.1" class="ver-sel">3.1</a>
                <a href="#ver-3.0" class="ver-sel">3.0</a>
            </div>
            <section class="wide" id="toc">
                <div class="column">
                    <h3>General Information</h3>
                    <ul>
                        <li>
                            <a href="#example_plugins">Example Plugins</a>
                        </li>
                        <li>
                            <a href="#plugin_lifecycle">Plugin Lifecycle</a>
                        </li>
                        <li>
                            <a href="#threading">Threading</a>
                        </li>
                        <li>
                            <a href="#units_coordinates">Units and Coordinates</a>
                        </li>
                        <li>
                            <a href="#types">Types</a>
                        </li>
                    </ul>
                </div>
                <div class="column">
                    <h3>Core Components</h3>
                    <ul>
                        <li>
                            <a href="#sublime"><code>sublime</code> Module</a>
                        </li>
                        <li>
                            <a href="#sublime.Sheet"><code>Sheet</code> Class</a>
                        </li>
                        <li class="build-4081" title="">
                            <a href="#sublime.Buffer"><code>Buffer</code> Class</a>
                            <span class="build" title="Added in build 4081">4081</span>
                        </li>
                        <li>
                            <a href="#sublime.View"><code>View</code> Class</a>
                        </li>
                        <li>
                            <a href="#sublime.Selection"><code>Selection</code> Class</a>
                        </li>
                        <li>
                            <a href="#sublime.Region"><code>Region</code> Class</a>
                        </li>
                        <li>
                            <a href="#sublime.Phantom"><code>Phantom</code> Class</a>
                        </li>
                        <li>
                            <a href="#sublime.PhantomSet"><code>PhantomSet</code> Class</a>
                        </li>
                        <li>
                            <a href="#sublime.Edit"><code>Edit</code> Class</a>
                        </li>
                        <li class="build-4081" title="">
                            <a href="#sublime.Syntax"><code>Syntax</code> Class</a>
                            <span class="build" title="Added in build 4081">4081</span>
                        </li>
                        <li class="build-4050" title="">
                            <a href="#sublime.TextChange"><code>TextChange</code> Class</a>
                            <span class="build" title="Added in build 4050">4050</span>
                        </li>
                        <li class="build-4050" title="">
                            <a href="#sublime.HistoricPosition"><code>HistoricPosition</code> Class</a>
                            <span class="build" title="Added in build 4050">4050</span>
                        </li>
                        <li><a href="#type-completion"><code>completion</code> Value</a></li>
                        <li class="build-4050" title="">
                            <a href="#sublime.CompletionItem"><code>CompletionItem</code> Class</a>
                            <span class="build" title="Added in build 4050">4050</span>
                        </li>
                        <li>
                            <a href="#type-event_dict"><code>event</code> Dict</a>
                        </li>
                        <li class="build-4050" title="">
                            <a href="#type-kind_tuple"><code>kind</code> Tuple</a>
                            <span class="build" title="Added in build 4050">4050</span>
                        </li>
                        <li class="build-4050" title="">
                            <a href="#sublime.CompletionList"><code>CompletionList</code> Class</a>
                            <span class="build" title="Added in build 4050">4050</span>
                        </li>
                        <li class="build-4083" title="">
                            <a href="#sublime.QuickPanelItem"><code>QuickPanelItem</code> Class</a>
                            <span class="build" title="Added in build 4083">4083</span>
                        </li>
                        <li class="build-4085" title="">
                            <a href="#sublime.SymbolRegion"><code>SymbolRegion</code> Class</a>
                            <span class="build" title="Added in build 4085">4085</span>
                        </li>
                        <li>
                            <a href="#sublime.Window"><code>Window</code> Class</a>
                        </li>
                        <li class="build-4085" title="">
                            <a href="#sublime.SymbolLocation"><code>SymbolLocation</code> Class</a>
                            <span class="build" title="Added in build 4085">4085</span>
                        </li>
                        <li>
                            <a href="#sublime.Settings"><code>Settings</code> Class</a>
                        </li>
                        <li class="build-4095" title="">
                            <a href="#sublime.ListInputItem"><code>ListInputItem</code> Class</a>
                            <span class="build" title="Added in build 4095">4095</span>
                        </li>
                    </ul>
                </div>
                <div class="column">
                    <h3>Plugin Extension Points</h3>
                    <ul>
                        <li>
                            <a href="#sublime_plugin"><code>sublime_plugin</code> Module</a>
                        </li>
                        <li>
                            <a href="#sublime_plugin.EventListener"><code>EventListener</code> Class</a>
                        </li>
                        <li>
                            <a href="#sublime_plugin.ViewEventListener"><code>ViewEventListener</code> Class</a>
                        </li>
                        <li class="build-4081" title="">
                            <a href="#sublime.TextChangeListener"><code>TextChangeListener</code> Class</a>
                            <span class="build" title="Added in build 4081">4081</span>
                        </li>
                        <li>
                            <a href="#sublime_plugin.ApplicationCommand"><code>ApplicationCommand</code> Class</a>
                        </li>
                        <li>
                            <a href="#sublime_plugin.WindowCommand"><code>WindowCommand</code> Class</a>
                        </li>
                        <li>
                            <a href="#sublime_plugin.TextCommand"><code>TextCommand</code> Class</a>
                        </li>
                        <li class="build-3154" title="">
                            <a href="#sublime_plugin.TextInputHandler"><code>TextInputHandler</code> Class</a>
                            <span class="build" title="Added in build 3154">3154</span>
                        </li>
                        <li class="build-3154" title="">
                            <a href="#sublime_plugin.ListInputHandler"><code>ListInputHandler</code> Class</a>
                            <span class="build" title="Added in build 3154">3154</span>
                        </li>
                    </ul>
                </div>
            </section>
            <section>
                <h2>General Information</h2>
                <h3 id="example_plugins">Example Plugins</h3>
                <p>
                    Several pre-made plugins come with Sublime Text, you can find them in the <span class="package">Default</span> package:
                </p>
                <ul>
                    <li>
                        <span class="file">Packages/Default/exec.py</span> Uses phantoms to display errors inline
                    </li>
                    <li>
                        <span class="file">Packages/Default/font.py</span> Shows how to work with settings
                    </li>
                    <li>
                        <span class="file">Packages/Default/goto_line.py</span> Prompts the user for input, then updates the selection
                    </li>
                    <li>
                        <span class="file">Packages/Default/mark.py</span> Uses <span class="method">add_regions()</span> to add an icon to the gutter
                    </li>
                    <li>
                        <span class="file">Packages/Default/show_scope_name.py</span> Uses a popup to show the scope names at the caret
                    </li>
                    <li>
                        <span class="file">Packages/Default/arithmetic.py</span> Accepts an input from the user when run via the Command Palette
                    </li>
                </ul>
                <h3 id="plugin_lifecycle">Plugin Lifecycle</h3>
                <p>
                    At importing time, plugins may not call any API functions, with the exception of:
                </p>
                <ul>
                    <li>
                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span><span style="color: #6699cc">version</span>()</span></code>
                    </li>
                    <li>
                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span><span style="color: #6699cc">platform</span>()</span></code>
                    </li>
                    <li>
                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span><span style="color: #6699cc">arch</span>()</span></code>
                    </li>
                    <li>
                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span><span style="color: #6699cc">channel</span>()</span></code>
                    </li>
                    <li class="build-4081" title="">
                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span><span style="color: #6699cc">executable_path</span>()</span></code>
                        <span class="build" title="Added in build 4081">4081</span>
                    </li>
                    <li class="build-4081" title="">
                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span><span style="color: #6699cc">packages_path</span>()</span></code>
                        <span class="build" title="Added in build 4081">4081</span>
                    </li>
                    <li class="build-4081" title="">
                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span><span style="color: #6699cc">installed_packages_path</span>()</span></code>
                        <span class="build" title="Added in build 4081">4081</span>
                    </li>
                    <li class="build-4081" title="">
                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span><span style="color: #6699cc">cache_path</span>()</span></code>
                        <span class="build" title="Added in build 4081">4081</span>
                    </li>
                </ul>
                <p>
                    If a plugin defines a module level function <span class="method">plugin_loaded()</span>, this will be called when the API is ready to use. Plugins may also define <span class="method">plugin_unloaded()</span>, to get notified just before the plugin is unloaded.
                </p>
                <h3 id="threading">Threading</h3>
                <p>
                    All API functions are thread-safe, however keep in mind that from the perspective of code running in an alternate thread, application state will be changing while the code is running.
                </p>
                <h3 id="units_coordinates">Units and Coordinates</h3>
                <p>
                    API functions that accept or return coordinates or dimensions do so using device-independent pixel (dip) values. While in some cases these will be equivalent to device pixels, this is often not the case. Per the CSS specification, <a href="https://www.sublimetext.com/docs/minihtml.html">minihtml</a> treats the <code class="syntax-css"><span style="color: #333333">px</span></code> unit as device-independent.
                </p>
                <h3 id="types">Types</h3>
                <p>
                    This documentation generally refers to simply Python data types. Some type names are classes documented herein, however there are also a few custom type names that refer to construct with specific semantics:
                </p>
                <dl class="enum">
                    <dt>
                        <span class="data-type" id="type-location">location</span>
                    </dt>
                    <dd>
                        <p>
                            a tuple of <code class="syntax-python"><span style="color: #333333">(<span style="color: #6699cc; font-style: italic">str</span><span style="color: #ac7a68">,</span> <span style="color: #6699cc; font-style: italic">str</span><span style="color: #ac7a68">,</span> (<span style="color: #6699cc; font-style: italic">int</span><span style="color: #ac7a68">,</span> <span style="color: #6699cc; font-style: italic">int</span>))</span></code> that contains information about a location of a symbol. The first string is the absolute file path, the second is the file path relative to the project, the third element is a two-element tuple of the row and column.
                        </p>
                    </dd>
                    <dt>
                        <span class="data-type" id="type-point">point</span>
                    </dt>
                    <dd>
                        <p>
                            an <span class="data-type">int</span> that represents the offset from the beginning of the editor buffer. The <span class="data-type">View</span> methods <span class="method">text_point()</span> and <span class="method">rowcol()</span> allow converting to and from this format.
                        </p>
                    </dd>
                    <dt>
                        <span class="data-type" id="type-value">value</span>
                    </dt>
                    <dd>
                        <p>
                            any of the Python data types <span class="data-type">bool</span>, <span class="data-type">int</span>, <span class="data-type">float</span>, <span class="data-type">str</span>, <span class="data-type">list</span> or <span class="data-type">dict</span>.
                        </p>
                    </dd>
                    <dt>
                        <span class="data-type" id="type-dip">dip</span>
                    </dt>
                    <dd>
                        <p>
                            a <span class="data-type">float</span> that represents a device-independent pixel.
                        </p>
                    </dd>
                    <dt>
                        <span class="data-type" id="type-vector">vector</span>
                    </dt>
                    <dd>
                        <p>
                            a tuple of <code class="syntax-python"><span style="color: #333333">(dip<span style="color: #ac7a68">,</span> dip)</span></code> representing <code>x</code> and <code>y</code> coordinates.
                        </p>
                    </dd>
                    <dt>
                        <span class="data-type" id="type-CommandInputHandler">CommandInputHandler</span>
                    </dt>
                    <dd>
                        <p>
                            a subclass of either <a href="#sublime_plugin.TextInputHandler"><span class="data-type">TextInputHandler</span></a> or <a href="#sublime_plugin.ListInputHandler"><span class="data-type">ListInputHandler</span></a>.
                        </p>
                    </dd>
                </dl>
            </section>
            <section class="wide">
                <h2 id="sublime"><span class="module">sublime</span> Module</h2>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Methods</th>
                            <th>Return Value</th>
                            <th>Description</th>
                            <th class="tags"></th>
                        </tr>
                        <tr>
                            <td class="mth">set_timeout(callback, delay)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Runs the <span class="parameter">callback</span> in the main thread after the given <span class="parameter">delay</span> (in milliseconds). Callbacks with an equal delay will be run in the order they were added.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">set_timeout_async(callback, delay)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Runs the <span class="parameter">callback</span> on an alternate thread after the given <span class="parameter">delay</span> (in milliseconds).
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">error_message(string)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Displays an error dialog to the user.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">message_dialog(string)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Displays a message dialog to the user.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">ok_cancel_dialog(string, &lt;ok_title&gt;)</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                Displays an <em>ok / cancel</em> question dialog to the user. If <span class="parameter">ok_title</span> is provided, this may be used as the text on the ok button. Returns <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code> if the user presses the ok button.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">yes_no_cancel_dialog(string, &lt;yes_title&gt;, &lt;no_title&gt;)</td>
                            <td class="rtn">
                                <span class="data-type">int</span>
                            </td>
                            <td class="dsc">
                                Displays a <em>yes / no / cancel</em> question dialog to the user. If <span class="parameter">yes_title</span> and/or <span class="parameter">no_title</span> are provided, they will be used as the text on the corresponding buttons on some platforms. Returns <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>DIALOG_YES</span></code>, <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>DIALOG_NO</span></code> or <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>DIALOG_CANCEL</span></code>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr class="build-4075" title="">
                            <td class="mth">open_dialog(callback, &lt;file_types&gt;, &lt;directory&gt;, &lt;multi_select&gt;, &lt;allow_folders&gt;)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                <p>
                                    Presents the user with a file dialog for the purpose of opening a file, and passes the resulting file path to <span class="parameter">callback</span>.
                                </p>
                                <dl class="parameters">
                                    <dt>
                                        <span class="parameter">callback</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            A callback to accept the result of the user’s choice. If the user cancels the dialog, <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code> will be passed. If a file is selected, a <span class="data-type">str</span> containing the path will be passed. If the parameter <span class="parameter">multi_select</span> is <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code>, a <span class="data-type">list</span> of <span class="data-type">str</span> file paths will be passed.
                                        </p>
                                    </dd>
                                    <dt>
                                        <span class="parameter">file_types</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            A specification of allowable file types. This parameter should be a <span class="data-type">list</span> containing 2-element <span class="data-type">tuple</span>s:
                                        </p>
                                        <ul>
                                            <li>A <span class="data-type">str</span> containing a description</li>
                                            <li>A <span class="data-type">list</span> of <span class="data-type">str</span> with valid file extensions</li>
                                        </ul>
                                        <p>
                                            <em>Example:</em>
                                        </p>
                                        <pre><code class="syntax-python"><span style="color: #333333">[
    (<span style="color: #5fb4b4">'</span><span style="color: #80b979">Python source files</span><span style="color: #5fb4b4">'</span><span style="color: #ac7a68">,</span> [<span style="color: #5fb4b4">'</span><span style="color: #80b979">py</span><span style="color: #5fb4b4">'</span><span style="color: #ac7a68">,</span> <span style="color: #5fb4b4">'</span><span style="color: #80b979">py3</span><span style="color: #5fb4b4">'</span><span style="color: #ac7a68">,</span> <span style="color: #5fb4b4">'</span><span style="color: #80b979">pyw</span><span style="color: #5fb4b4">'</span>])<span style="color: #ac7a68">,</span>
    (<span style="color: #5fb4b4">'</span><span style="color: #80b979">C source files</span><span style="color: #5fb4b4">'</span><span style="color: #ac7a68">,</span> [<span style="color: #5fb4b4">'</span><span style="color: #80b979">c</span><span style="color: #5fb4b4">'</span><span style="color: #ac7a68">,</span> <span style="color: #5fb4b4">'</span><span style="color: #80b979">h</span><span style="color: #5fb4b4">'</span>])
]</span></code></pre>
                                        <p></p>
                                    </dd>
                                    <dt>
                                        <span class="parameter">directory</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            A <span class="data-type">str</span> of the directory to open the file dialog to. If not specified, will use the directory of the current view.
                                        </p>
                                    </dd>
                                    <dt>
                                        <span class="parameter">multi_select</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            A <span class="data-type">bool</span> to indicate that the user should be allowed to select multiple files
                                        </p>
                                    </dd>
                                    <dt>
                                        <span class="parameter">allow_folders</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            A <span class="data-type">bool</span> to indicate that the user should be allowed to select folders
                                        </p>
                                    </dd>
                                </dl>
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4075">4075</span>
                            </td>
                        </tr>
                        <tr class="build-4075" title="">
                            <td class="mth">save_dialog(callback, &lt;file_types&gt;, &lt;directory&gt;, &lt;name&gt;, &lt;extension&gt;)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                <p>
                                    Presents the user with file dialog for the purpose of saving a file, and passes the result to <span class="parameter">callback</span>.
                                </p>
                                <dl class="parameters">
                                    <dt>
                                        <span class="parameter">callback</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            A callback to accept the result of the user’s choice. If the user cancels the dialog, <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code> will be passed. If a file is selected, a <span class="data-type">str</span> containing the path will be passed.
                                        </p>
                                    </dd>
                                    <dt>
                                        <span class="parameter">file_types</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            A specification of allowable file types. This parameter should be a <span class="data-type">list</span> containing 2-element <span class="data-type">tuple</span>s:
                                        </p>
                                        <ul>
                                            <li>A <span class="data-type">str</span> containing a description</li>
                                            <li>A <span class="data-type">list</span> of <span class="data-type">str</span> with valid file extensions</li>
                                        </ul>
                                        <p>
                                            <em>Example:</em>
                                        </p>
                                        <pre><code class="syntax-python"><span style="color: #333333">[
    (<span style="color: #5fb4b4">'</span><span style="color: #80b979">Python source files</span><span style="color: #5fb4b4">'</span><span style="color: #ac7a68">,</span> [<span style="color: #5fb4b4">'</span><span style="color: #80b979">py</span><span style="color: #5fb4b4">'</span><span style="color: #ac7a68">,</span> <span style="color: #5fb4b4">'</span><span style="color: #80b979">py3</span><span style="color: #5fb4b4">'</span><span style="color: #ac7a68">,</span> <span style="color: #5fb4b4">'</span><span style="color: #80b979">pyw</span><span style="color: #5fb4b4">'</span>])<span style="color: #ac7a68">,</span>
    (<span style="color: #5fb4b4">'</span><span style="color: #80b979">C source files</span><span style="color: #5fb4b4">'</span><span style="color: #ac7a68">,</span> [<span style="color: #5fb4b4">'</span><span style="color: #80b979">c</span><span style="color: #5fb4b4">'</span><span style="color: #ac7a68">,</span> <span style="color: #5fb4b4">'</span><span style="color: #80b979">h</span><span style="color: #5fb4b4">'</span>])
]</span></code></pre>
                                        <p></p>
                                    </dd>
                                    <dt>
                                        <span class="parameter">directory</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            A <span class="data-type">str</span> of the directory to open the file dialog to. If not specified, will use the directory of the current view.
                                        </p>
                                    </dd>
                                    <dt>
                                        <span class="parameter">name</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            A <span class="data-type">str</span> with the default file name
                                        </p>
                                    </dd>
                                    <dt>
                                        <span class="parameter">extension</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            A <span class="data-type">str</span> containing the default file extension
                                        </p>
                                    </dd>
                                </dl>
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4075">4075</span>
                            </td>
                        </tr>
                        <tr class="build-4075" title="">
                            <td class="mth">select_folder_dialog(callback, &lt;directory&gt;, &lt;multi_select&gt;)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                <p>
                                    Presents the user with a file dialog for the purpose of selecting a folder, and passes the result to <span class="parameter">callback</span>.
                                </p>
                                <dl class="parameters">
                                    <dt>
                                        <span class="parameter">callback</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            A callback to accept the result of the user’s choice. If the user cancels the dialog, <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code> will be passed. If a folder is selected, a <span class="data-type">str</span> containing the path will be passed. If the parameter <span class="parameter">multi_select</span> is <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code>, a <span class="data-type">list</span> of <span class="data-type">str</span> folder paths will be passed.
                                        </p>
                                    </dd>
                                    <dt>
                                        <span class="parameter">directory</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            A <span class="data-type">str</span> of the directory to open the file dialog to. If not specified, will use the directory of the current view.
                                        </p>
                                    </dd>
                                    <dt>
                                        <span class="parameter">multi_select</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            A <span class="data-type">bool</span> to indicate that the user should be allowed to select multiple folders
                                        </p>
                                    </dd>
                                </dl>
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4075">4075</span>
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">load_resource(name)</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                Loads the given resource. The <span class="parameter">name</span> should be in the format <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">Packages/Default/Main.sublime-menu</span><span style="color: #5fb4b4">"</span></span></code>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">load_binary_resource(name)</td>
                            <td class="rtn">
                                <span class="data-type">bytes</span>
                            </td>
                            <td class="dsc">
                                Loads the given resource. The <span class="parameter">name</span> should be in the format <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">Packages/Default/Main.sublime-menu</span><span style="color: #5fb4b4">"</span></span></code>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">find_resources(pattern)</td>
                            <td class="rtn">
                                [<span class="data-type">str</span>]
                            </td>
                            <td class="dsc">
                                Finds resources whose file name matches the given <span class="parameter">pattern</span>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr class="build-4096" title="">
                            <td class="mth">ui_info()</td>
                            <td class="rtn">
                                <span class="data-type">dict</span>
                            </td>
                            <td class="dsc">
                                Returns information about the user interface, including top-level keys <span class="key">system</span>, <span class="key">theme</span> and <span class="key">color_scheme</span>
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4096">4096</span>
                            </td>
                        </tr>
                        <tr class="build-4081" title="">
                            <td class="mth">list_syntaxes()</td>
                            <td class="rtn">
                                [<a href="#sublime.Syntax"><span class="data-type">Syntax</span></a>]
                            </td>
                            <td class="dsc">
                                Returns a list of all available syntaxes
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4081">4081</span>
                            </td>
                        </tr>
                        <tr class="build-4081" title="">
                            <td class="mth">syntax_from_path(path)</td>
                            <td class="rtn">
                                <a href="#sublime.Syntax"><span class="data-type">Syntax</span></a>
                                <em>or</em>
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Returns the the <span class="data-type">Syntax</span>, if any, at the unicode string <span class="parameter">path</span> specified
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4081">4081</span>
                            </td>
                        </tr>
                        <tr class="build-4081" title="">
                            <td class="mth">find_syntax_by_name(name)</td>
                            <td class="rtn">
                                [<a href="#sublime.Syntax"><span class="data-type">Syntax</span></a>]
                            </td>
                            <td class="dsc">
                                Returns the the <span class="data-type">Syntax</span>, if any, with the unicode string <span class="parameter">name</span> specified
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4081">4081</span>
                            </td>
                        </tr>
                        <tr class="build-4081" title="">
                            <td class="mth">find_syntax_by_scope(scope)</td>
                            <td class="rtn">
                                [<a href="#sublime.Syntax"><span class="data-type">Syntax</span></a>]
                            </td>
                            <td class="dsc">
                                Returns the the <span class="data-type">Syntax</span>, if any, with the unicode string base <span class="parameter">scope</span> specified
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4081">4081</span>
                            </td>
                        </tr>
                        <tr class="build-4081" title="">
                            <td class="mth">find_syntax_for_file(fname, &lt;first_line&gt;)</td>
                            <td class="rtn">
                                <a href="#sublime.Syntax"><span class="data-type">Syntax</span></a>
                                <em>or</em>
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Returns the the <span class="data-type">Syntax</span> that will be used when opening a file with the name <span class="parameter">fname</span>. The <span class="parameter">first_line</span> of file contents may also be provided if available.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4081">4081</span>
                            </td>
                        </tr>
                        <tr id="sublime.encode_value">
                            <td class="mth">encode_value(value, &lt;pretty&gt;)</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                Encode a JSON compatible <span class="parameter">value</span> into a string representation. If <span class="parameter">pretty</span> is set to <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code>, the string will include newlines and indentation.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">decode_value(string)</td>
                            <td class="rtn">
                                <a href="#type-value"><span class="data-type">value</span></a>
                            </td>
                            <td class="dsc">
                                Decodes a JSON string into an object. If the <span class="parameter">string</span> is invalid, a <span class="data-type">ValueError</span> will be thrown.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">expand_variables(value, variables)</td>
                            <td class="rtn">
                                <a href="#type-value"><span class="data-type">value</span></a>
                            </td>
                            <td class="dsc">
                                Expands any variables in the string <span class="parameter">value</span> using the variables defined in the dictionary <span class="parameter">variables</span>. <span class="parameter">value</span> may also be a <span class="data-type">list</span> or <span class="data-type">dict</span>, in which case the structure will be recursively expanded. Strings should use snippet syntax, for example: <code class="syntax-python"><span style="color: #333333"><span style="color: #6699cc">expand_variables</span>(<span style="color: #5fb4b4">"</span><span style="color: #80b979">Hello, $</span><span style="color: #5fb4b4">{</span><span style="color: #c695c6">name</span><span style="color: #5fb4b4">}</span><span style="color: #5fb4b4">"</span><span style="color: #ac7a68">,</span> {<span style="color: #5fb4b4">"</span><span style="color: #80b979">name</span><span style="color: #5fb4b4">"</span><span style="color: #ac7a68">:</span> <span style="color: #5fb4b4">"</span><span style="color: #80b979">Foo</span><span style="color: #5fb4b4">"</span>})</span></code>
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr id="sublime.format_command" class="build-4075" title="">
                            <td class="mth">format_command(cmd, &lt;args&gt;)</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                Create a "command string" from a <span class="data-type">str</span> <span class="parameter">cmd</span> name, and an optional <span class="data-type">dict</span> of <span class="parameter">args</span>. This is used when constructing a command-based <a href="#sublime.CompletionItem"><span class="data-type">CompletionItem</span></a>.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4075">4075</span>
                            </td>
                        </tr>
                        <tr class="build-4075" title="">
                            <td class="mth">command_url(cmd, &lt;args&gt;)</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                Creates a <a href="https://www.sublimetext.com/docs/minihtml.html#protocols"><code>subl:</code>-protocol</a> URL for executing a command in a <a href="https://www.sublimetext.com/docs/minihtml.html">minihtml</a> link.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4075">4075</span>
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">load_settings(base_name)</td>
                            <td class="rtn">
                                <a href="#sublime.Settings"><span class="data-type">Settings</span></a>
                            </td>
                            <td class="dsc">
                                Loads the named settings. The name should include a file name and extension, but not a path. The packages will be searched for files matching the <span class="parameter">base_name</span>, and the results will be collated into the settings object. Subsequent calls to <span class="method">load_settings()</span> with the <span class="parameter">base_name</span> will return the same object, and not load the settings from disk again.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">save_settings(base_name)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Flushes any in-memory changes to the named settings object to disk.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">windows()</td>
                            <td class="rtn">
                                [<a href="#sublime.Window"><span class="data-type">Window</span></a>]
                            </td>
                            <td class="dsc">
                                Returns a list of all the open windows.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">active_window()</td>
                            <td class="rtn">
                                <a href="#sublime.Window"><span class="data-type">Window</span></a>
                            </td>
                            <td class="dsc">
                                Returns the most recently used window.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">packages_path()</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                Returns the path where all the user's loose packages are located.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">installed_packages_path()</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                Returns the path where all the user's <span class="file">.sublime-package</span> files are located.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">cache_path()</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                Returns the path where Sublime Text stores cache files.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">get_clipboard(&lt;size_limit&gt;)</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                <em>DEPRECATED - use <code>get_clipboard_async()</code> when possible.</em> Returns the contents of the clipboard. <span class="parameter">size_limit</span> protects against unnecessarily large data, and defaults to 16,777,216 bytes. If the clipboard is larger than <span class="parameter">size_limit</span>, an empty string will be returned.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr class="build-4075" title="">
                            <td class="mth">get_clipboard_async(callback, &lt;size_limit&gt;)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Calls <span class="parameter">callback</span> with the contents of the clipboard. <span class="parameter">size_limit</span> protects against unnecessarily large data, and defaults to 16,777,216 bytes. If the clipboard is larger than <span class="parameter">size_limit</span>, an empty string will be passed.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4075">4075</span>
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">set_clipboard(string)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Sets the contents of the clipboard.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">score_selector(scope, selector)</td>
                            <td class="rtn">
                                <span class="data-type">int</span>
                            </td>
                            <td class="dsc">
                                Matches the <span class="parameter">selector</span> against the given <span class="parameter">scope</span>, returning a score. A score of <code class="syntax-python"><span style="color: #333333"><span style="color: #f9ae58">0</span></span></code> means no match, above <code class="syntax-python"><span style="color: #333333"><span style="color: #f9ae58">0</span></span></code> means a match. Different selectors may be compared against the same scope: a higher score means the selector is a better match for the scope.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">run_command(string, &lt;args&gt;)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Runs the named <a href="#sublime_plugin.ApplicationCommand"><span class="data-type">ApplicationCommand</span></a> with the (optional) given <span class="parameter">args</span>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">get_macro()</td>
                            <td class="rtn">
                                [<span class="data-type">dict</span>]
                            </td>
                            <td class="dsc">
                                Returns a list of the commands and args that compromise the currently recorded macro. Each <span class="data-type">dict</span> will contain the keys <span class="key">"command"</span> and <span class="key">"args"</span>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">log_commands(flag)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Controls command logging. If enabled, all commands run from key bindings and the menu will be logged to the console.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">log_input(flag)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Controls input logging. If enabled, all key presses will be logged to the console.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">log_result_regex(flag)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Controls result regex logging. This is useful for debugging regular expressions used in build systems.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr class="build-4064" title="">
                            <td class="mth">log_control_tree(flag)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                When enabled, clicking with <span class="keys"><b>Ctrl</b><i>+</i><b>Alt</b></span> will log the control tree under the mouse to the console.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4064">4064</span>
                            </td>
                        </tr>
                        <tr class="build-4075" title="">
                            <td class="mth">log_fps(flag)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                When enabled, logs the number of frames per second being rendered for the user interface
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4075">4075</span>
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">version()</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                Returns the version number
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">platform()</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                Returns the platform, which may be <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">osx</span><span style="color: #5fb4b4">"</span></span></code>, <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">linux</span><span style="color: #5fb4b4">"</span></span></code> or <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">windows</span><span style="color: #5fb4b4">"</span></span></code>
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">arch()</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                Returns the CPU architecture, which may be <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">x32</span><span style="color: #5fb4b4">"</span></span></code>, <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">x64</span><span style="color: #5fb4b4">"</span></span></code> or <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">arm64</span><span style="color: #5fb4b4">"</span></span></code>
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">channel()</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                Returns the release channel this build of Sublime Text is from: <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">dev</span><span style="color: #5fb4b4">"</span></span></code> or <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">stable</span><span style="color: #5fb4b4">"</span></span></code>
                            </td>
                            <td class="tags"></td>
                        </tr>
                    </tbody>
                </table>
            </section>
            <section class="wide">
                <h2 id="sublime.Sheet"><code>sublime.Sheet</code> Class</h2>
                <p>
                    Represents a content container, i.e. a tab, within a window. Sheets may contain a <a href="#sublime.View"><span class="data-type">View</span></a>, or an image preview.
                </p>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Methods</th>
                            <th>Return Value</th>
                            <th>Description</th>
                            <th class="tags"></th>
                        </tr>
                        <tr>
                            <td class="mth">id()</td>
                            <td class="rtn">
                                <span class="data-type">int</span>
                            </td>
                            <td class="dsc">
                                Returns a number that uniquely identifies this sheet.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">window()</td>
                            <td class="rtn">
                                <a href="#sublime.Window"><span class="data-type">Window</span></a>
                                <em>or</em>
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Returns the window containing the sheet. May be <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code> if the sheet has been closed.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr id="sublime.Sheet.group" class="build-4100" title="">
                            <td class="mth">group()</td>
                            <td class="rtn">
                                <span class="data-type">int</span>
                            </td>
                            <td class="dsc">
                                The (layout) group that the sheet is contained within
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4100">4100</span>
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">view()</td>
                            <td class="rtn">
                                <a href="#sublime.View"><span class="data-type">View</span></a>
                                <em>or</em>
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Returns the view contained within the sheet. May be <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code> if the sheet is an image preview, or the view has been closed.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr class="build-4050" title="">
                            <td class="mth">file_name()</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                                <em>or</em>
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                The full name file the file associated with the buffer, or <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code> if it doesn't exist on disk.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4050">4050</span>
                            </td>
                        </tr>
                        <tr class="build-4088" title="">
                            <td class="mth">close()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Closes the sheet
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4088">4088</span>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </section>
            <section class="wide build-4081" title="">
                <h2 id="sublime.Buffer">
                    <code>sublime.Buffer</code> Class
                    <span class="build" title="Added in build 4081">4081</span>
                </h2>
                <p>
                    Represents a text buffer. Multiple <a href="#sublime.View"><span class="data-type">View</span></a> objects may share the same buffer.
                </p>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Methods</th>
                            <th>Return Value</th>
                            <th>Description</th>
                            <th class="tags"></th>
                        </tr>
                        <tr class="build-4083" title="">
                            <td class="mth">id()</td>
                            <td class="rtn">
                                <span class="data-type">int</span>
                            </td>
                            <td class="dsc">
                                Returns a number that uniquely identifies this buffer.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4083">4083</span>
                            </td>
                        </tr>
                        <tr class="build-4083" title="">
                            <td class="mth">file_name()</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                                <em>or</em>
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                The full name file the file associated with the buffer, or <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code> if it doesn't exist on disk.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4083">4083</span>
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">views()</td>
                            <td class="rtn">
                                [<a href="#sublime.View"><span class="data-type">View</span></a>]
                            </td>
                            <td class="dsc">
                                Returns a list of all views that are associated with this buffer
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">primary_view()</td>
                            <td class="rtn">
                                <a href="#sublime.View"><span class="data-type">View</span></a>
                            </td>
                            <td class="dsc">
                                The primary view associated with this buffer.
                            </td>
                            <td class="tags"></td>
                        </tr>
                    </tbody>
                </table>
            </section>
            <section class="wide">
                <h2 id="sublime.View"><code>sublime.View</code> Class</h2>
                <p>
                    Represents a view into a text buffer. Note that multiple views may refer to the same buffer, but they have their own unique selection and geometry.
                </p>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Methods</th>
                            <th>Return Value</th>
                            <th>Description</th>
                            <th class="tags"></th>
                        </tr>
                        <tr>
                            <td class="mth">id()</td>
                            <td class="rtn">
                                <span class="data-type">int</span>
                            </td>
                            <td class="dsc">
                                Returns a number that uniquely identifies this view.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">buffer_id()</td>
                            <td class="rtn">
                                <span class="data-type">int</span>
                            </td>
                            <td class="dsc">
                                Returns a number that uniquely identifies the buffer underlying this view.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">is_primary()</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                If the view is the primary view into a file. Will only be <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">False</span></span></code> if the user has opened multiple views into a file.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">file_name()</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                                <em>or</em>
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                The full name file the file associated with the buffer, or <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code> if it doesn't exist on disk.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">close()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Closes the view
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">name()</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                The name assigned to the buffer, if any
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">set_name(name)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Assigns a name to the buffer
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">is_loading()</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                Returns <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code> if the buffer is still loading from disk, and not ready for use.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">is_dirty()</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                Returns <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code> if there are any unsaved modifications to the buffer.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">is_read_only()</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                Returns <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code> if the buffer may not be modified.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">set_read_only(value)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Sets the read only property on the buffer.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">is_scratch()</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                Returns <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code> if the buffer is a scratch buffer. Scratch buffers never report as being dirty.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">set_scratch(value)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Sets the scratch property on the buffer.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">settings()</td>
                            <td class="rtn">
                                <a href="#sublime.Settings"><span class="data-type">Settings</span></a>
                            </td>
                            <td class="dsc">
                                Returns a reference to the view's settings object. Any changes to this settings object will be private to this view.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">meta_info(key, pt)</td>
                            <td class="rtn">
                                <a href="#sublime.Settings"></a><a href="#type-value"><span class="data-type">value</span></a>
                            </td>
                            <td class="dsc">
                                Returns data from <span class="file">.tmPreferences</span> files. Looks up the preference named <span class="parameter">key</span> for the scope of the token at the <a href="#type-point"><span class="data-type">point</span></a> <span class="parameter">pt</span>. Preference names may be any string defined in a <span class="file">.tmPreferences</span> file. Some examples include: <code>TM_COMMENT_START</code>, <code>TM_COMMENT_END</code>, <code>showInSymbolList</code> and <code>showInIndexedSymbolList</code>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr class="build-4050" title="">
                            <td class="mth">element()</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                                <em>or</em>
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Returns <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code> for normal views, for views that comprise part of the UI, a <span class="data-type">str</span> is returned from the following list:
                                <ul>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">console:input</span><span style="color: #5fb4b4">"</span></span></code>:
                                        The console input
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">goto_anything:input</span><span style="color: #5fb4b4">"</span></span></code>:
                                        The input for the Goto Anything
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">command_palette:input</span><span style="color: #5fb4b4">"</span></span></code>:
                                        The input for the Command Palette
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">find:input</span><span style="color: #5fb4b4">"</span></span></code>:
                                        The input for the Find panel
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">incremental_find:input</span><span style="color: #5fb4b4">"</span></span></code>:
                                        The input for the Incremental Find panel
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">replace:input:find</span><span style="color: #5fb4b4">"</span></span></code>:
                                        The Find input for the Replace panel
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">replace:input:replace</span><span style="color: #5fb4b4">"</span></span></code>:
                                        The Replace input for the Replace panel
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">find_in_files:input:find</span><span style="color: #5fb4b4">"</span></span></code>:
                                        The Find input for the Find in Files panel
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">find_in_files:input:location</span><span style="color: #5fb4b4">"</span></span></code>:
                                        The Where input for the Find in Files panel
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">find_in_files:input:replace</span><span style="color: #5fb4b4">"</span></span></code>:
                                        The Replace input for the Find in Files panel
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">find_in_files:output</span><span style="color: #5fb4b4">"</span></span></code>:
                                        The output panel for Find in Files (buffer or output panel)
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">input:input</span><span style="color: #5fb4b4">"</span></span></code>:
                                        The input for the Input panel
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">exec:output</span><span style="color: #5fb4b4">"</span></span></code>:
                                        The output for the exec command
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">output:output</span><span style="color: #5fb4b4">"</span></span></code>:
                                        A general output panel
                                    </li>
                                </ul>
                                The console output, indexer status output and license input controls are not accessible via the API.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4050">4050</span>
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">window()</td>
                            <td class="rtn">
                                <a href="#sublime.Window"><span class="data-type">Window</span></a>
                            </td>
                            <td class="dsc">
                                Returns a reference to the window containing the view.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr class="build-4083" title="">
                            <td class="mth">sheet()</td>
                            <td class="rtn">
                                <a href="#sublime.Sheet"><span class="data-type">Sheet</span></a>
                                <em>or</em>
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Returns the Sheet for this View, if displayed in a sheet
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4083">4083</span>
                            </td>
                        </tr>
                        <tr class="build-4083" title="">
                            <td class="mth">sheet_id()</td>
                            <td class="rtn">
                                <span class="data-type">int</span>
                            </td>
                            <td class="dsc">
                                Returns the ID of the Sheet for this View, or <code class="syntax-python"><span style="color: #333333"><span style="color: #f9ae58">0</span></span></code> if not part of a sheet
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4083">4083</span>
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">run_command(string, &lt;args&gt;)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Runs the named <a href="#sublime_plugin.TextCommand"><span class="data-type">TextCommand</span></a> with the (optional) given <span class="parameter">args</span>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">size()</td>
                            <td class="rtn">
                                <span class="data-type">int</span>
                            </td>
                            <td class="dsc">
                                Returns the number of character in the file.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">substr(region)</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                Returns the contents of the <span class="parameter">region</span> as a string.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">substr(point)</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                Returns the character to the right of the <span class="parameter">point</span>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">insert(edit, point, string)</td>
                            <td class="rtn">
                                <span class="data-type">int</span>
                            </td>
                            <td class="dsc">
                                Inserts the given <span class="parameter">string</span> in the buffer at the specified <span class="parameter">point</span>. Returns the number of characters inserted: this may be different if tabs are being translated into spaces in the current buffer.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">erase(edit, region)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Erases the contents of the <span class="parameter">region</span> from the buffer.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">replace(edit, region, string)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Replaces the contents of the <span class="parameter">region</span> with the given <span class="parameter">string</span>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">sel()</td>
                            <td class="rtn">
                                <a href="#sublime.Selection"><span class="data-type">Selection</span></a>
                            </td>
                            <td class="dsc">
                                Returns a reference to the selection.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">line(point)</td>
                            <td class="rtn">
                                <a href="#sublime.Region"><span class="data-type">Region</span></a>
                            </td>
                            <td class="dsc">
                                Returns the line that contains the <span class="parameter">point</span>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">line(region)</td>
                            <td class="rtn">
                                <a href="#sublime.Region"><span class="data-type">Region</span></a>
                            </td>
                            <td class="dsc">
                                Returns a modified copy of <span class="parameter">region</span> such that it starts at the beginning of a line, and ends at the end of a line. Note that it may span several lines.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">full_line(point)</td>
                            <td class="rtn">
                                <a href="#sublime.Region"><span class="data-type">Region</span></a>
                            </td>
                            <td class="dsc">
                                As <span class="method">line()</span>, but the region includes the trailing newline character, if any.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">full_line(region)</td>
                            <td class="rtn">
                                <a href="#sublime.Region"><span class="data-type">Region</span></a>
                            </td>
                            <td class="dsc">
                                As <span class="method">line()</span>, but the region includes the trailing newline character, if any.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">lines(region)</td>
                            <td class="rtn">
                                [<a href="#sublime.Region"><span class="data-type">Region</span></a>]
                            </td>
                            <td class="dsc">
                                Returns a list of lines (in sorted order) intersecting the <span class="parameter">region</span>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">split_by_newlines(region)</td>
                            <td class="rtn">
                                [<a href="#sublime.Region"><span class="data-type">Region</span></a>]
                            </td>
                            <td class="dsc">
                                Splits the <span class="parameter">region</span> up such that each region returned exists on exactly one line.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">word(point)</td>
                            <td class="rtn">
                                <a href="#sublime.Region"><span class="data-type">Region</span></a>
                            </td>
                            <td class="dsc">
                                Returns the word that contains the <span class="parameter">point</span>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">word(region)</td>
                            <td class="rtn">
                                <a href="#sublime.Region"><span class="data-type">Region</span></a>
                            </td>
                            <td class="dsc">
                                Returns a modified copy of <span class="parameter">region</span> such that it starts at the beginning of a word, and ends at the end of a word. Note that it may span several words.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">classify(point)</td>
                            <td class="rtn">
                                <span class="data-type">int</span>
                            </td>
                            <td class="dsc">
                                <p>
                                    Classifies <span class="parameter">point</span>, returning a bitwise OR of zero or more of these flags:
                                </p>
                                <ul>
                                    <li><code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>CLASS_WORD_START</span></code></li>
                                    <li><code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>CLASS_WORD_END</span></code></li>
                                    <li><code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>CLASS_PUNCTUATION_START</span></code></li>
                                    <li><code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>CLASS_PUNCTUATION_END</span></code></li>
                                    <li><code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>CLASS_SUB_WORD_START</span></code></li>
                                    <li><code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>CLASS_SUB_WORD_END</span></code></li>
                                    <li><code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>CLASS_LINE_START</span></code></li>
                                    <li><code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>CLASS_LINE_END</span></code></li>
                                    <li><code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>CLASS_EMPTY_LINE</span></code></li>
                                </ul>
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">find_by_class(point, forward, classes, &lt;separators&gt;)</td>
                            <td class="rtn">
                                <a href="#sublime.Region"><span class="data-type">Region</span></a>
                            </td>
                            <td class="dsc">
                                Finds the next location after <span class="parameter">point</span> that matches the given <span class="parameter">classes</span>. If <span class="parameter">forward</span> is <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">False</span></span></code>, searches backwards instead of forwards. <span class="parameter">classes</span> is a bitwise OR of the <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>CLASS_XXX</span></code> flags. <span class="parameter">separators</span> may be passed in, to define what characters should be considered to separate words.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">expand_by_class(point, classes, &lt;separators&gt;)</td>
                            <td class="rtn">
                                <a href="#sublime.Region"><span class="data-type">Region</span></a>
                            </td>
                            <td class="dsc">
                                Expands <span class="parameter">point</span> to the left and right, until each side lands on a location that matches <span class="parameter">classes</span>. <span class="parameter">classes</span> is a bitwise OR of the <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>CLASS_XXX</span></code> flags. separators may be passed in, to define what characters should be considered to separate words.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">expand_by_class(region, classes, &lt;separators&gt;)</td>
                            <td class="rtn">
                                <a href="#sublime.Region"><span class="data-type">Region</span></a>
                            </td>
                            <td class="dsc">
                                Expands <span class="parameter">region</span> to the left and right, until each side lands on a location that matches <span class="parameter">classes</span>. <span class="parameter">classes</span> is a bitwise OR of the <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>CLASS_XXX</span></code> flags. <span class="parameter">separators</span> may be passed in, to define what characters should be considered to separate words.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">find(pattern, start_point, &lt;flags&gt;)</td>
                            <td class="rtn">
                                <a href="#sublime.Region"><span class="data-type">Region</span></a>
                            </td>
                            <td class="dsc">
                                Returns the first region matching the regex <span class="parameter">pattern</span>, starting from <span class="parameter">start_point</span>, or <code class="syntax-python"><span style="color: #333333"><span style="color: #6699cc">Region</span>(<span style="color: #f97b58">-</span><span style="color: #f9ae58">1</span><span style="color: #ac7a68">,</span> <span style="color: #f97b58">-</span><span style="color: #f9ae58">1</span>)</span></code> if it can't be found. The optional <span class="parameter">flags</span> parameter may be <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>LITERAL</span></code>, <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>IGNORECASE</span></code>, or the two ORed together.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">find_all(pattern, &lt;flags&gt;, &lt;format&gt;, &lt;extractions&gt;)</td>
                            <td class="rtn">
                                [<a href="#sublime.Region"><span class="data-type">Region</span></a>]
                            </td>
                            <td class="dsc">
                                Returns all (non-overlapping) regions matching the regex <span class="parameter">pattern</span>. The optional <span class="parameter">flags</span> parameter may be <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>LITERAL</span></code>, <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>IGNORECASE</span></code>, or the two ORed together. If a <span class="parameter">format</span> string is given, then all matches will be formatted with the formatted string and placed into the extractions list.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">rowcol(point)</td>
                            <td class="rtn">
                                (<span class="data-type">int</span>, <span class="data-type">int</span>)
                            </td>
                            <td class="dsc">
                                Calculates the 0-based line and column numbers of the <span class="parameter">point</span>. <em>Column numbers are returned as number of Unicode characters.</em>
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr class="build-4069" title="">
                            <td class="mth">rowcol_utf8(point)</td>
                            <td class="rtn">
                                (<span class="data-type">int</span>, <span class="data-type">int</span>)
                            </td>
                            <td class="dsc">
                                Calculates the 0-based line and column numbers of the <span class="parameter">point</span>. <em>Column numbers are returned as UTF-8 code units, i.e. bytes.</em>
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4069">4069</span>
                            </td>
                        </tr>
                        <tr class="build-4069" title="">
                            <td class="mth">rowcol_utf16(point)</td>
                            <td class="rtn">
                                (<span class="data-type">int</span>, <span class="data-type">int</span>)
                            </td>
                            <td class="dsc">
                                Calculates the 0-based line and column numbers of the <span class="parameter">point</span>. <em>Column numbers are returned as UTF-16 code units, i.e. byte pairs.</em>
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4069">4069</span>
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">text_point(row, col, &lt;clamp_column&gt;)</td>
                            <td class="rtn">
                                <span class="data-type">int</span>
                            </td>
                            <td class="dsc">
                                <p>
                                    Calculates the character offset of the given, 0-based, <span class="parameter">row</span> and <span class="parameter">col</span>. <em><span class="parameter">col</span> is interpreted as the number of Unicode characters to advance past the beginning of the row.</em>
                                </p>
                                <dl class="parameters">
                                    <dt class="build-4075" title="">
                                        <span class="parameter">clamp_column</span>
                                        <span class="build" title="Added in build 4075">4075</span>
                                    </dt>
                                    <dd class="build-4075" title="">
                                        <p>
                                            A <span class="data-type">bool</span>, if <span class="parameter">col</span> should be restricted to valid values for the given <span class="parameter">row</span>
                                        </p>
                                    </dd>
                                </dl>
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr class="build-4069" title="">
                            <td class="mth">text_point_utf8(row, col, &lt;clamp_column&gt;)</td>
                            <td class="rtn">
                                <span class="data-type">int</span>
                            </td>
                            <td class="dsc">
                                <p>
                                    Calculates the character offset of the given, 0-based, <span class="parameter">row</span> and <span class="parameter">col</span>. <em><span class="parameter">col</span> is interpreted as the number of UTF-8 code units, i.e. bytes, to advance past the beginning of the row.</em>
                                </p>
                                <dl class="parameters">
                                    <dt class="build-4075" title="">
                                        <span class="parameter">clamp_column</span>
                                        <span class="build" title="Added in build 4075">4075</span>
                                    </dt>
                                    <dd class="build-4075" title="">
                                        <p>
                                            A <span class="data-type">bool</span>, if <span class="parameter">col</span> should be restricted to valid values for the given <span class="parameter">row</span>
                                        </p>
                                    </dd>
                                </dl>
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4069">4069</span>
                            </td>
                        </tr>
                        <tr class="build-4069" title="">
                            <td class="mth">text_point_utf16(row, col, &lt;clamp_column&gt;)</td>
                            <td class="rtn">
                                <span class="data-type">int</span>
                            </td>
                            <td class="dsc">
                                <p>
                                    Calculates the character offset of the given, 0-based, <span class="parameter">row</span> and <span class="parameter">col</span>. <em><span class="parameter">col</span> is interpreted as the number of UTF-16 code units, i.e. byte pairs, to advance past the beginning of the row.</em>
                                </p>
                                <dl class="parameters">
                                    <dt class="build-4075" title="">
                                        <span class="parameter">clamp_column</span>
                                        <span class="build" title="Added in build 4075">4075</span>
                                    </dt>
                                    <dd class="build-4075" title="">
                                        <p>
                                            A <span class="data-type">bool</span>, if <span class="parameter">col</span> should be restricted to valid values for the given <span class="parameter">row</span>
                                        </p>
                                    </dd>
                                </dl>
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4069">4069</span>
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">assign_syntax(syntax)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Changes the syntax used by the view. <span class="parameter">syntax</span> may be a <a href="#sublime.Syntax"><span class="data-type">Syntax</span></a> object, packages path to a syntax file, or <code>scope:</code> specifier string.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">set_syntax_file(syntax_file)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                <em>DEPRECATED - use <code>assign_syntax()</code> when possible.</em> Changes the syntax used by the view. <span class="parameter">syntax_file</span> should be a name along the lines of <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">Packages/Python/Python.tmLanguage</span><span style="color: #5fb4b4">"</span></span></code>. To retrieve the current syntax, use <code class="syntax-python"><span style="color: #333333">view<span style="color: #f97b58">.</span><span style="color: #6699cc">settings</span>()<span style="color: #f97b58">.</span><span style="color: #6699cc">get</span>(<span style="color: #5fb4b4">'</span><span style="color: #80b979">syntax</span><span style="color: #5fb4b4">'</span>)</span></code>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr class="build-4081" title="">
                            <td class="mth">syntax()</td>
                            <td class="rtn">
                                <a href="#sublime.Syntax"><span class="data-type">Syntax</span></a>
                                <em>or</em>
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Returns the syntax for this view
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4081">4081</span>
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">extract_scope(point)</td>
                            <td class="rtn">
                                <a href="#sublime.Region"><span class="data-type">Region</span></a>
                            </td>
                            <td class="dsc">
                                Returns the extent of the syntax scope name assigned to the character at the given <span class="parameter">point</span>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">scope_name(point)</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                Returns the syntax scope name assigned to the character at the given <span class="parameter">point</span>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">match_selector(point, selector)</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                Checks the <span class="parameter">selector</span> against the scope at the given <span class="parameter">point</span>, returning a bool if they match.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">score_selector(point, selector)</td>
                            <td class="rtn">
                                <span class="data-type">int</span>
                            </td>
                            <td class="dsc">
                                Matches the <span class="parameter">selector</span> against the scope at the given <span class="parameter">point</span>, returning a score. A score of <code class="syntax-python"><span style="color: #333333"><span style="color: #f9ae58">0</span></span></code> means no match, above <code class="syntax-python"><span style="color: #333333"><span style="color: #f9ae58">0</span></span></code> means a match. Different selectors may be compared against the same scope: a higher score means the selector is a better match for the scope.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">find_by_selector(selector)</td>
                            <td class="rtn">
                                [<a href="#sublime.Region"><span class="data-type">Region</span></a>]
                            </td>
                            <td class="dsc">
                                Finds all regions in the file matching the given <span class="parameter">selector</span>, returning them as a list.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">show(location, &lt;show_surrounds&gt;, &lt;keep_to_left&gt;, &lt;animate&gt;)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                <p>
                                    Scroll the view to show the given location.
                                </p>
                                <dl class="parameters">
                                    <dt>
                                        <span class="parameter">location</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            A <a href="#type-point"><span class="data-type">point</span></a>, <a href="#sublime.Region"><span class="data-type">Region</span></a> or <a href="#sublime.Selection"><span class="data-type">Selection</span></a> to scroll the view to.
                                        </p>
                                    </dd>
                                    <dt>
                                        <span class="parameter">show_surrounds</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            A <span class="data-type">bool</span>, scroll the view far enough that surrounding conent is visible also
                                        </p>
                                    </dd>
                                    <dt class="build-4075" title="">
                                        <span class="parameter">keep_to_left</span>
                                        <span class="build" title="Added in build 4075">4075</span>
                                    </dt>
                                    <dd class="build-4075" title="">
                                        <p>
                                            A <span class="data-type">bool</span>, if the view should be kept to the left, if horizontal scrolling is possible
                                        </p>
                                    </dd>
                                    <dt class="build-4075" title="">
                                        <span class="parameter">animate</span>
                                        <span class="build" title="Added in build 4075">4075</span>
                                    </dt>
                                    <dd class="build-4075" title="">
                                        <p>
                                            A <span class="data-type">bool</span>, if the scroll should be animated
                                        </p>
                                    </dd>
                                </dl>
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">show_at_center(location)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Scroll the view to center on the <span class="parameter">location</span>, which may be a <a href="#type-point"><span class="data-type">point</span></a> or <a href="#sublime.Region"><span class="data-type">Region</span></a>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">visible_region()</td>
                            <td class="rtn">
                                <a href="#sublime.Region"><span class="data-type">Region</span></a>
                            </td>
                            <td class="dsc">
                                Returns the currently visible area of the view.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">viewport_position()</td>
                            <td class="rtn">
                                <a href="#type-vector"><span class="data-type">vector</span></a>
                            </td>
                            <td class="dsc">
                                Returns the offset of the viewport in layout coordinates.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">set_viewport_position(vector, &lt;animate&gt;)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Scrolls the viewport to the given layout position.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">viewport_extent()</td>
                            <td class="rtn">
                                <a href="#type-vector"><span class="data-type">vector</span></a>
                            </td>
                            <td class="dsc">
                                Returns the width and height of the viewport.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">layout_extent()</td>
                            <td class="rtn">
                                <a href="#type-vector"><span class="data-type">vector</span></a>
                            </td>
                            <td class="dsc">
                                Returns the width and height of the layout.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">text_to_layout(point)</td>
                            <td class="rtn">
                                <a href="#type-vector"><span class="data-type">vector</span></a>
                            </td>
                            <td class="dsc">
                                Converts a text point to a layout position
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">text_to_window(point)</td>
                            <td class="rtn">
                                <a href="#type-vector"><span class="data-type">vector</span></a>
                            </td>
                            <td class="dsc">
                                Converts a text point to a window position
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">layout_to_text(vector)</td>
                            <td class="rtn">
                                <a href="#type-point"><span class="data-type">point</span></a>
                            </td>
                            <td class="dsc">
                                Converts a layout position to a text point
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">layout_to_window(vector)</td>
                            <td class="rtn">
                                <a href="#type-point"><span class="data-type">vector</span></a>
                            </td>
                            <td class="dsc">
                                Converts a layout position to a window position
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">window_to_layout(vector)</td>
                            <td class="rtn">
                                <a href="#type-vector"><span class="data-type">vector</span></a>
                            </td>
                            <td class="dsc">
                                Converts a window position to a layout position
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">window_to_text(vector)</td>
                            <td class="rtn">
                                <a href="#type-point"><span class="data-type">point</span></a>
                            </td>
                            <td class="dsc">
                                Converts a window position to a text point
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">line_height()</td>
                            <td class="rtn">
                                <a href="#type-dip"><span class="data-type">dip</span></a>
                            </td>
                            <td class="dsc">
                                Returns the light height used in the layout
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">em_width()</td>
                            <td class="rtn">
                                <a href="#type-dip"><span class="data-type">dip</span></a>
                            </td>
                            <td class="dsc">
                                Returns the typical character width used in the layout
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">add_regions(key, [regions], &lt;scope&gt;, &lt;icon&gt;, &lt;flags&gt;, &lt;annotations&gt;, &lt;annotations_color&gt;, &lt;on_navigate&gt;, &lt;on_close&gt;)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                <p>
                                    Adds visual indicators to regions of text in the view. Indicators include icons in the gutter, underlines under the text, borders around the text and annotations. Annotations are drawn aligned to the right-hand edge of the view and may contain HTML markup.
                                </p>
                                <dl class="parameters">
                                    <dt>
                                        <span class="parameter">key</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            A unicode string identifying the collection of <span class="parameter">regions</span>. If a set of <span class="parameter">regions</span> already exists with the same <span class="parameter">key</span>, they will be overwritten.
                                        </p>
                                    </dd>
                                    <dt>
                                        <span class="parameter">scope</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            An optional unicode string used to source a color to draw the <span class="parameter">regions</span> in. The <span class="parameter">scope</span> is matched against the color scheme. Examples include: <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">invalid</span><span style="color: #5fb4b4">"</span></span></code> and <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">string</span><span style="color: #5fb4b4">"</span></span></code>. See <a href="https://www.sublimetext.com/docs/scope_naming.html#alphabetical_reference">Scope Naming</a> for a list of common scopes. If the <span class="parameter">scope</span> is empty, the <span class="parameter">regions</span> won't be drawn.
                                        </p>
                                        <div class="build-3148" title="">
                                            <p>
                                                Also supports the following pseudo-scopes, to allow picking the closest color from the user‘s color scheme:
                                                <span class="build" title="Added in build 3148">3148</span>
                                            </p>
                                            <ul>
                                                <li><code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">region.redish</span><span style="color: #5fb4b4">"</span></span></code></li>
                                                <li><code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">region.orangish</span><span style="color: #5fb4b4">"</span></span></code></li>
                                                <li><code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">region.yellowish</span><span style="color: #5fb4b4">"</span></span></code></li>
                                                <li><code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">region.greenish</span><span style="color: #5fb4b4">"</span></span></code></li>
                                                <li><code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">region.cyanish</span><span style="color: #5fb4b4">"</span></span></code></li>
                                                <li><code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">region.bluish</span><span style="color: #5fb4b4">"</span></span></code></li>
                                                <li><code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">region.purplish</span><span style="color: #5fb4b4">"</span></span></code></li>
                                                <li><code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">region.pinkish</span><span style="color: #5fb4b4">"</span></span></code></li>
                                            </ul>
                                        </div>
                                    </dd>
                                    <dt>
                                        <span class="parameter">icon</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            An optional unicode string specifying an icon to draw in the gutter next to each region. The <span class="parameter">icon</span> will be tinted using the color associated with the <span class="parameter">scope</span>. Standard icon names are <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">dot</span><span style="color: #5fb4b4">"</span></span></code>, <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">circle</span><span style="color: #5fb4b4">"</span></span></code> and <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">bookmark</span><span style="color: #5fb4b4">"</span></span></code>. The <span class="parameter">icon</span> may also be a full package-relative path, such as <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">Packages/Theme - Default/dot.png</span><span style="color: #5fb4b4">"</span></span></code>.
                                        </p>
                                    </dd>
                                    <dt>
                                        <span class="parameter">flags</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            An optional bitwise combination of zero or more of:
                                        </p>
                                        <ul>
                                            <li>
                                                <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>DRAW_EMPTY</span></code>:
                                                Draw empty regions with a vertical bar. By default, they aren't drawn at all.
                                            </li>
                                            <li>
                                                <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>HIDE_ON_MINIMAP</span></code>:
                                                Don't show the regions on the minimap.
                                            </li>
                                            <li>
                                                <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>DRAW_EMPTY_AS_OVERWRITE</span></code>:
                                                Draw empty regions with a horizontal bar instead of a vertical one.
                                            </li>
                                            <li>
                                                <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>DRAW_NO_FILL</span></code>:
                                                Disable filling the regions, leaving only the outline.
                                            </li>
                                            <li>
                                                <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>DRAW_NO_OUTLINE</span></code>:
                                                Disable drawing the outline of the regions.
                                            </li>
                                            <li>
                                                <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>DRAW_SOLID_UNDERLINE</span></code>:
                                                Draw a solid underline below the regions.
                                            </li>
                                            <li>
                                                <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>DRAW_STIPPLED_UNDERLINE</span></code>:
                                                Draw a stippled underline below the regions.
                                            </li>
                                            <li>
                                                <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>DRAW_SQUIGGLY_UNDERLINE</span></code>:
                                                Draw a squiggly underline below the regions.
                                            </li>
                                            <li>
                                                <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>PERSISTENT</span></code>:
                                                Save the regions in the session.
                                            </li>
                                            <li>
                                                <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>HIDDEN</span></code>:
                                                Don't draw the regions.
                                            </li>
                                        </ul>
                                        <p>
                                            The underline styles are exclusive, either zero or one of them should be given. If using an underline, <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>DRAW_NO_FILL</span></code> and <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>DRAW_NO_OUTLINE</span></code> should generally be passed in.
                                        </p>
                                    </dd>
                                    <dt class="build-4050" title="">
                                        <span class="parameter">annotations</span>
                                        <span class="build" title="Added in build 4050">4050</span>
                                    </dt>
                                    <dd class="build-4050" title="">
                                        <p>
                                            An optional collection of unicode strings containing HTML documents to display along the right-hand edge of the view. There should be the same number of <span class="parameter">annotations</span> as <span class="parameter">regions</span>. See <a href="https://www.sublimetext.com/docs/minihtml.html">minihtml Reference</a> for supported HTML.
                                        </p>
                                    </dd>
                                    <dt class="build-4050" title="">
                                        <span class="parameter">annotation_color</span>
                                        <span class="build" title="Added in build 4050">4050</span>
                                    </dt>
                                    <dd class="build-4050" title="">
                                        <p>
                                            A optional unicode string of the CSS color to use when drawing the left border of the annotation. See <a href="https://www.sublimetext.com/docs/minihtml.html#colors">minihtml Reference: Colors</a> for supported color formats.
                                        </p>
                                    </dd>
                                    <dt class="build-4050" title="">
                                        <span class="parameter">on_navigate</span>
                                        <span class="build" title="Added in build 4050">4050</span>
                                    </dt>
                                    <dd class="build-4050" title="">
                                        <p>
                                            A callback that will be passed the <span class="parameter">href</span> when a link in an annotation is clicked.
                                        </p>
                                    </dd>
                                    <dt class="build-4050" title="">
                                        <span class="parameter">on_close</span>
                                        <span class="build" title="Added in build 4050">4050</span>
                                    </dt>
                                    <dd class="build-4050" title="">
                                        <p>
                                            A callback that will be called when the annotations are closed.
                                        </p>
                                    </dd>
                                </dl>
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">get_regions(key)</td>
                            <td class="rtn">
                                [<a href="#sublime.Region"><span class="data-type">Region</span></a>]
                            </td>
                            <td class="dsc">
                                Return the regions associated with the given <span class="parameter">key</span>, if any
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">erase_regions(key)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Removed the named regions
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">set_status(key, value)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Adds the status <span class="parameter">key</span> to the view. The <span class="parameter">value</span> will be displayed in the status bar, in a comma separated list of all status values, ordered by key. Setting the <span class="parameter">value</span> to the empty string will clear the status.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">get_status(key)</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                Returns the previously assigned value associated with the <span class="parameter">key</span>, if any.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">erase_status(key)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Clears the named status.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">command_history(index, &lt;modifying_only&gt;)</td>
                            <td class="rtn">
                                (<span class="data-type">str</span>, <span class="data-type">dict</span>, <span class="data-type">int</span>)
                            </td>
                            <td class="dsc">
                                <p>
                                    Returns the command name, command arguments, and repeat count for the given history entry, as stored in the undo / redo stack.
                                </p>
                                <p>
                                    Index <code class="syntax-python"><span style="color: #333333"><span style="color: #f9ae58">0</span></span></code> corresponds to the most recent command, <code class="syntax-python"><span style="color: #333333"><span style="color: #f97b58">-</span><span style="color: #f9ae58">1</span></span></code> the command before that, and so on. Positive values for index indicate to look in the redo stack for commands. If the undo / redo history doesn't extend far enough, then <code class="syntax-python"><span style="color: #333333">(<span style="color: #ec5f66; font-style: italic">None</span><span style="color: #ac7a68">,</span> <span style="color: #ec5f66; font-style: italic">None</span><span style="color: #ac7a68">,</span> <span style="color: #f9ae58">0</span>)</span></code> will be returned.
                                </p>
                                <p>
                                    Setting <span class="parameter">modifying_only</span> to <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code> (the default is <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">False</span></span></code>) will only return entries that modified the buffer.
                                </p>
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">change_count()</td>
                            <td class="rtn">
                                <span class="data-type">int</span>
                            </td>
                            <td class="dsc">
                                Returns the current change count. Each time the buffer is modified, the change count is incremented. The change count can be used to determine if the buffer has changed since the last it was inspected.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr class="build-4069" title="">
                            <td class="mth">change_id()</td>
                            <td class="rtn">
                                (<span class="data-type">int</span>, <span class="data-type">int</span>, <span class="data-type">int</span>)
                            </td>
                            <td class="dsc">
                                Returns a 3-element tuple that can be passed to <span class="method">transform_region_from()</span> to obtain a region equivalent to a region of the <span class="data-type">View</span> in the past. This is primarily useful for plugins providing text modification that must operate in an asynchronous fashion and must be able to handle the view contents changing between the request and response.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4069">4069</span>
                            </td>
                        </tr>
                        <tr class="build-4069" title="">
                            <td class="mth">transform_region_from(region, change_id)</td>
                            <td class="rtn">
                                <a href="#sublime.Region"><span class="data-type">Region</span></a>
                            </td>
                            <td class="dsc">
                                Transforms a region from a previous point in time to an equivalent region in the current state of the <span class="data-type">View</span>. The <span class="parameter">change_id</span> must have been obtained from <span class="method">change_id()</span> at the point in time the region is from.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4069">4069</span>
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">fold([regions])</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                Folds the given <span class="parameter">regions</span>, returning <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">False</span></span></code> if they were already folded
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">fold(region)</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                Folds the given <span class="parameter">region</span>, returning <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">False</span></span></code> if it was already folded
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">unfold(region)</td>
                            <td class="rtn">
                                [<a href="#sublime.Region"><span class="data-type">Region</span></a>]
                            </td>
                            <td class="dsc">
                                Unfolds all text in the <span class="parameter">region</span>, returning the unfolded regions
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">unfold([regions])</td>
                            <td class="rtn">
                                [<a href="#sublime.Region"><span class="data-type">Region</span></a>]
                            </td>
                            <td class="dsc">
                                Unfolds all text in the <span class="parameter">regions</span>, returning the unfolded regions
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">encoding()</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                Returns the encoding currently associated with the file
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">set_encoding(encoding)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Applies a new encoding to the file. This encoding will be used the next time the file is saved.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">line_endings()</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                Returns the line endings used by the current file.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">set_line_endings(line_endings)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Sets the line endings that will be applied when next saving.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">overwrite_status()</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                Returns the overwrite status, which the user normally toggles via the insert key.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">set_overwrite_status(enabled)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Sets the overwrite status.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">symbols()</td>
                            <td class="rtn">
                                [(<a href="#sublime.Region"><span class="data-type">Region</span></a>, str)]
                            </td>
                            <td class="dsc">
                                <em>DEPRECATED - use <code>symbol_regions()</code> when possible.</em> Extract all the symbols defined in the buffer.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr class="build-4085" title="">
                            <td class="mth">symbol_regions()</td>
                            <td class="rtn">
                                [<a href="#sublime.SymbolRegion"><span class="data-type">SymbolRegion</span></a>]
                            </td>
                            <td class="dsc">
                                Returns info about symbols that are part of the local symbol list
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4085">4085</span>
                            </td>
                        </tr>
                        <tr class="build-4085" title="">
                            <td class="mth">indexed_symbol_regions()</td>
                            <td class="rtn">
                                [<a href="#sublime.SymbolRegion"><span class="data-type">SymbolRegion</span></a>]
                            </td>
                            <td class="dsc">
                                Returns info about symbols that are indexed
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4085">4085</span>
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">show_popup_menu(items, on_done, &lt;flags&gt;)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                <p>
                                    Shows a pop up menu at the caret, to select an item in a list. <span class="parameter">on_done</span> will be called once, with the index of the selected item. If the pop up menu was cancelled, <span class="parameter">on_done</span> will be called with an argument of <code class="syntax-python"><span style="color: #333333"><span style="color: #f97b58">-</span><span style="color: #f9ae58">1</span></span></code>.
                                </p>
                                <p>
                                    <span class="parameter">items</span> is a list of strings.
                                </p>
                                <p>
                                    <span class="parameter">flags</span> it currently unused.
                                </p>
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">show_popup(content, &lt;flags&gt;, &lt;location&gt;, &lt;max_width&gt;, &lt;max_height&gt;, &lt;on_navigate&gt;, &lt;on_hide&gt;)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                <p>
                                    Shows a popup displaying HTML content.
                                </p>
                                <p>
                                    <span class="parameter">flags</span> is a bitwise combination of the following:
                                </p>
                                <ul>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>COOPERATE_WITH_AUTO_COMPLETE</span></code>: causes the popup to display next to the auto complete menu
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>HIDE_ON_MOUSE_MOVE</span></code>: causes the popup to hide when the mouse is moved, clicked or scrolled
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>HIDE_ON_MOUSE_MOVE_AWAY</span></code>: causes the popup to hide when the mouse is moved (unless towards the popup), or when clicked or scrolled
                                    </li>
                                    <li class="build-4057" title="">
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KEEP_ON_SELECTION_MODIFIED</span></code>: prevent the popup from hiding when the selection is modified
                                        <span class="build" title="Added in build 4057">4057</span>
                                    </li>
                                    <li class="build-4075" title="">
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>HIDE_ON_CHARACTER_EVENT</span></code>: hide the popup when a character is typed
                                        <span class="build" title="Added in build 4075">4075</span>
                                    </li>
                                </ul>
                                <p>
                                    The default <span class="parameter">location</span> of <code class="syntax-python"><span style="color: #333333"><span style="color: #f97b58">-</span><span style="color: #f9ae58">1</span></span></code> will display the popup at the cursor, otherwise a text point should be passed.
                                </p>
                                <p>
                                    <span class="parameter">max_width</span> and <span class="parameter">max_height</span> set the maximum dimensions for the popup, after which scroll bars will be displayed.
                                </p>
                                <p>
                                    <span class="parameter">on_navigate</span> is a callback that should accept a string contents of the <code>href</code> attribute on the link the user clicked.
                                </p>
                                <p>
                                    <span class="parameter">on_hide</span> is called when the popup is hidden.
                                </p>
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">update_popup(content)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Updates the contents of the currently visible popup.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">is_popup_visible()</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                Returns if the popup is currently shown.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr class="build-4073" title="">
                            <td class="mth">preserve_auto_complete_on_focus_lost()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Sets the auto complete popup state to be preserved the next time the View loses focus. When the View regains focus, the auto complete window will be re-shown, with the previously selected entry pre-selected.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4073">4073</span>
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">hide_popup()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Hides the popup.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">is_auto_complete_visible()</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                Returns if the auto complete menu is currently visible.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr class="build-3150" title="">
                            <td class="mth">style()</td>
                            <td class="rtn">
                                <span class="data-type">dict</span>
                            </td>
                            <td class="dsc">
                                Returns a <span class="data-type">dict</span> of the global style settings for the view. <i>All colors are normalized to the six character hex form with a leading hash, e.g. <code class="syntax-css"><span style="color: #333333"><span style="color: #5fb4b4">#</span><span style="color: #c695c6">ff0000</span></span></code>.</i>
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 3150">3150</span>
                            </td>
                        </tr>
                        <tr class="build-3149" title="">
                            <td class="mth">style_for_scope(scope_name)</td>
                            <td class="rtn">
                                <span class="data-type">dict</span>
                            </td>
                            <td class="dsc">
                                <p>
                                    Accepts a string scope name and returns a <span class="data-type">dict</span> of style information, includes the keys:
                                </p>
                                <ul>
                                    <li><span class="key">"foreground"</span></li>
                                    <li><span class="key">"background"</span> <em>(only if set)</em></li>
                                    <li><span class="key">"bold"</span></li>
                                    <li><span class="key">"italic"</span></li>
                                    <li class="build-4063" title="">
                                        <span class="key">"glow"</span>
                                        <span class="build" title="Added in build 4063">4063</span>
                                    </li>
                                    <li class="build-4075" title="">
                                        <span class="key">"underline"</span>
                                        <span class="build" title="Added in build 4075">4075</span>
                                    </li>
                                    <li class="build-4075" title="">
                                        <span class="key">"stippled_underline"</span>
                                        <span class="build" title="Added in build 4075">4075</span>
                                    </li>
                                    <li class="build-4075" title="">
                                        <span class="key">"squiggly_underline"</span>
                                        <span class="build" title="Added in build 4075">4075</span>
                                    </li>
                                    <li><span class="key">"source_line"</span></li>
                                    <li><span class="key">"source_column"</span></li>
                                    <li><span class="key">"source_file"</span></li>
                                </ul>
                                <p>
                                    <i>The foreground and background colors are normalized to the six character hex form with a leading hash, e.g. <span class="syntax-css">#ff0000</span>.</i>
                                </p>
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 3149">3149</span>
                            </td>
                        </tr>
                        <tr class="build-3186" title="">
                            <td class="mth">set_reference_document(reference)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Uses the string <span class="parameter">reference</span> to calculate the initial diff for the <a href="https://www.sublimetext.com/docs/incremental_diff.html">incremental diff</a>
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 3186">3186</span>
                            </td>
                        </tr>
                        <tr class="build-3190" title="">
                            <td class="mth">reset_reference_document()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Clears the state of the <a href="https://www.sublimetext.com/docs/incremental_diff.html">incremental diff</a> for the view
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 3190">3190</span>
                            </td>
                        </tr>
                        <tr class="build-4092" title="">
                            <td class="mth">export_to_html(&lt;regions&gt;, &lt;minihtml&gt;, &lt;enclosing_tags&gt;, &lt;font_size&gt;, &lt;font_family&gt;)</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                <p>
                                    Generates an HTML string of the current view contents
                                </p>
                                <p>
                                    <span class="parameter">regions</span> - restrict the generated HTML to a <span class="#sublime.Region">Region</span> or <span class="data-type">list</span> of regions.
                                </p>
                                <p>
                                    <span class="parameter">minihtml</span> - a boolean that causes the exported HTML to be compatiable with <a href="https://www.sublimetext.com/docs/minihtml.html">minihtml</a>.
                                </p>
                                <p>
                                    <span class="parameter">enclosing_tags</span> - a boolean that adds a <code class="syntax-html"><span style="color: #333333"><span style="color: #5fb4b4">&lt;</span><span style="color: #ec5f66">div</span><span style="color: #5fb4b4">&gt;</span></span></code> tag with base styles around the markup.
                                </p>
                                <p>
                                    <span class="parameter">font_size</span> - a boolean that controls adding <code>font-size</code> to the markup generated when <span class="parameter">enclosing_tags</span> is <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code>.
                                </p>
                                <p>
                                    <span class="parameter">font_family</span> - a boolean that controls adding <code>font-family</code> to the markup generated when <span class="parameter">enclosing_tags</span> is <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code>.
                                </p>
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4092">4092</span>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </section>
            <section class="wide">
                <h2 id="sublime.Selection"><code>sublime.Selection</code> Class</h2>
                <p>
                    Maintains a set of Regions, ensuring that none overlap. The regions are kept in sorted order.
                </p>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Methods</th>
                            <th>Return Value</th>
                            <th>Description</th>
                        </tr>
                        <tr>
                            <td class="mth">clear()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Removes all regions.
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">add(region)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Adds the given <span class="parameter">region</span>. It will be merged with any intersecting regions already contained within the set.
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">add_all(regions)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Adds all regions in the given <span class="data-type">list</span> or <span class="data-type">tuple</span>.
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">subtract(region)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Subtracts the <span class="parameter">region</span> from all regions in the set.
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">contains(region)</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                Returns <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code> iff the given <span class="parameter">region</span> is a subset.
                            </td>
                        </tr>
                    </tbody>
                </table>
            </section>
            <section class="wide">
                <h2 id="sublime.Region"><code>sublime.Region</code> Class</h2>
                <p>
                    Represents an area of the buffer. Empty regions, where <code class="syntax-python"><span style="color: #333333">a <span style="color: #f97b58">==</span> b</span></code> are valid.
                </p>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Constructors</th>
                            <th>Description</th>
                        </tr>
                        <tr>
                            <td class="mth">Region(a, b)</td>
                            <td class="dsc">
                                Creates a Region with initial values a and b.
                            </td>
                        </tr>
                    </tbody>
                </table>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Properties</th>
                            <th>Type</th>
                            <th>Description</th>
                        </tr>
                        <tr>
                            <td class="mth">a</td>
                            <td class="rtn">
                                <span class="data-type">int</span>
                            </td>
                            <td class="dsc">
                                The first end of the region.
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">b</td>
                            <td class="rtn">
                                <span class="data-type">int</span>
                            </td>
                            <td class="dsc">
                                The second end of the region. May be less that a, in which case the region is a reversed one.
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">xpos</td>
                            <td class="rtn">
                                <span class="data-type">int</span>
                            </td>
                            <td class="dsc">
                                The target horizontal position of the region, or <code class="syntax-python"><span style="color: #333333"><span style="color: #f97b58">-</span><span style="color: #f9ae58">1</span></span></code> if undefined. Effects behavior when pressing the up or down keys.
                            </td>
                        </tr>
                    </tbody>
                </table>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Methods</th>
                            <th>Return Value</th>
                            <th>Description</th>
                            <th class="tags"></th>
                        </tr>
                        <tr>
                            <td class="mth">begin()</td>
                            <td class="rtn">
                                <span class="data-type">int</span>
                            </td>
                            <td class="dsc">
                                Returns the minimum of a and b.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">end()</td>
                            <td class="rtn">
                                <span class="data-type">int</span>
                            </td>
                            <td class="dsc">
                                Returns the maximum of a and b.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">size()</td>
                            <td class="rtn">
                                <span class="data-type">int</span>
                            </td>
                            <td class="dsc">
                                Returns the number of characters spanned by the region. Always &gt;= 0.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">empty()</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                Returns <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code> iff <span class="method">begin()</span> == <span class="method">end()</span>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">cover(region)</td>
                            <td class="rtn">
                                <a href="#sublime.Region"><span class="data-type">Region</span></a>
                            </td>
                            <td class="dsc">
                                Returns a Region spanning both this and the given regions.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">intersection(region)</td>
                            <td class="rtn">
                                <a href="#sublime.Region"><span class="data-type">Region</span></a>
                            </td>
                            <td class="dsc">
                                Returns the set intersection of the two regions.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">intersects(region)</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                Returns <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code> iff self == <span class="parameter">region</span> or both include one or more positions in common.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">contains(region)</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                Returns <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code> iff the given <span class="parameter">region</span> is a subset.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">contains(point)</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                Returns <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code> iff <span class="method">begin()</span> &lt;= <span class="parameter">point</span> &lt;= <span class="method">end()</span>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr class="build-4075" title="">
                            <td class="mth">to_tuple()</td>
                            <td class="rtn">
                                <span class="data-type">tuple</span>
                            </td>
                            <td class="dsc">
                                <p>
                                    Returns a 2-element <span class="data-type">tuple</span> of:
                                </p>
                                <ol class="tuple">
                                    <li><span class="property">.a</span>, an <span class="data-type">int</span></li>
                                    <li><span class="property">.b</span>, an <span class="data-type">int</span></li>
                                </ol>
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4075">4075</span>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </section>
            <section class="wide">
                <h2 id="sublime.Phantom"><code>sublime.Phantom</code> Class</h2>
                <p>
                    Represents an HTML-based decoration to display non-editable content interspersed in a View. Used with PhantomSet to actually add the
                    phantoms to the View. Once a Phantom has been constructed and added to the View, changes to the attributes will have no effect.
                </p>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Constructors</th>
                            <th>Description</th>
                        </tr>
                        <tr>
                            <td class="mth">Phantom(region, content, layout, &lt;on_navigate&gt;)</td>
                            <td class="dsc">
                                <p>
                                    Creates a phantom attached to a <span class="parameter">region</span>. The <span class="parameter">content</span> is HTML to be processed by <a href="https://www.sublimetext.com/docs/minihtml.html">minihtml</a>.
                                </p>
                                <p>
                                    <span class="parameter">layout</span> must be one of:
                                </p>
                                <ul>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>LAYOUT_INLINE</span></code>: Display the phantom in between the <span class="parameter">region</span> and the point following.
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>LAYOUT_BELOW</span></code>: Display the phantom in space below the current line, left-aligned with the <span class="parameter">region</span>.
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>LAYOUT_BLOCK</span></code>: Display the phantom in space below the current line, left-aligned with the beginning of the line.
                                    </li>
                                </ul>
                                <p>
                                    <span class="parameter">on_navigate</span> is an optional callback that should accept a single string parameter, that is the <code>href</code> attribute of the link clicked.
                                </p>
                            </td>
                        </tr>
                    </tbody>
                </table>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Methods</th>
                            <th>Return Value</th>
                            <th>Description</th>
                            <th class="tags"></th>
                        </tr>
                        <tr class="build-4075" title="">
                            <td class="mth">to_tuple()</td>
                            <td class="rtn">
                                <span class="data-type">tuple</span>
                            </td>
                            <td class="dsc">
                                <p>
                                    Returns a 4-element <span class="data-type">tuple</span> of:
                                </p>
                                <ol class="tuple">
                                    <li><span class="property">.region</span>, as a 2-element <span class="data-type">tuple</span></li>
                                    <li><span class="property">.content</span>, a <span class="data-type">str</span></li>
                                    <li><span class="property">.layout</span>, an <span class="data-type">int</span></li>
                                    <li><span class="property">.on_navigate</span>, a <span class="data-type">callback</span> or <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code></li>
                                </ol>
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4075">4075</span>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </section>
            <section class="wide">
                <h2 id="sublime.PhantomSet"><code>sublime.PhantomSet</code> Class</h2>
                <p>
                    A collection that manages Phantoms and the process of adding them, updating them and removing them from the View.
                </p>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Constructors</th>
                            <th>Description</th>
                        </tr>
                        <tr>
                            <td class="mth">PhantomSet(view, &lt;key&gt;)</td>
                            <td class="dsc">
                                Creates a PhantomSet attached to a <span class="parameter">view</span>. <span class="parameter">key</span> is a string to group Phantoms together.
                            </td>
                        </tr>
                    </tbody>
                </table>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Methods</th>
                            <th>Return Value</th>
                            <th>Description</th>
                        </tr>
                        <tr>
                            <td class="mth">update(phantoms)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                <p>
                                    <span class="parameter">phantoms</span> should be a list of phantoms.
                                </p>
                                <p>
                                    The <span class="attribute">.region</span> attribute of each existing phantom in the set will be updated. New phantoms will be added to the view and phantoms not in <span class="parameter">phantoms</span> list will be deleted.
                                </p>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </section>
            <section class="wide">
                <h2 id="sublime.Edit"><code>sublime.Edit</code> Class</h2>
                <p>
                    Edit objects have no functions, they exist to group buffer modifications.
                </p>
                <p>
                    Edit objects are passed to <a href="#sublime_plugin.TextCommand"><span class="data-type">TextCommand</span></a>s, and can not be created by the user. Using an invalid Edit object, or an Edit object from a different View, will cause the functions that require them to fail.
                </p>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Methods</th>
                            <th>Return Value</th>
                            <th>Description</th>
                        </tr>
                        <tr>
                            <td class="mth">(no methods)</td>
                            <td class="rtn"></td>
                            <td class="dsc"></td>
                        </tr>
                    </tbody>
                </table>
            </section>
            <section class="wide build-4081" title="">
                <h2 id="sublime.TextChangeListener">
                    <code>sublime.TextChangeListener</code> Class
                    <span class="build" title="Added in build 4081">4081</span>
                </h2>
                <p>
                    A class that provides event handling about text changes made to a specific <a href="#sublime_plugin.Buffer"><code>Buffer</code></a>. <em>Is seperate from <a href="#sublime_plugin.ViewEventListener"><code>ViewEventListener</code></a> since multiple views can share a single buffer.</em>
                </p>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Properties</th>
                            <th>Type</th>
                            <th>Description</th>
                            <th class="tags"></th>
                        </tr>
                        <tr>
                            <td class="mth">buffer</td>
                            <td class="rtn">
                                <a href="#sublime.HistoricPosition"></a><a href="#sublime_plugin.Buffer"><code>Buffer</code></a>
                            </td>
                            <td class="dsc">
                                The buffer this <code>TextChangeListener</code> is listening to
                            </td>
                            <td class="tags"></td>
                        </tr>
                    </tbody>
                </table>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Methods</th>
                            <th>Return Value</th>
                            <th>Description</th>
                            <th class="tags"></th>
                        </tr>
                        <tr class="build-4081" title="">
                            <td class="mth">on_text_changed([changes])</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                <p>
                                    Called once after changes has been made to a buffer, with detailed information about what has changed.
                                </p>
                                <p>
                                    <span class="parameter">changes</span> is a <span class="data-type">list</span> of <a href="#sublime.TextChange">TextChange</a> objects.
                                </p>
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4081">4081</span>
                            </td>
                        </tr>
                        <tr class="build-4081" title="">
                            <td class="mth">on_text_changed_async([changes])</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                <p>
                                    Called once after changes has been made to a buffer, with detailed information about what has changed. Runs in a separate thread, and does not block the application.
                                </p>
                                <p>
                                    <span class="parameter">changes</span> is a <span class="data-type">list</span> of <a href="#sublime.TextChange">TextChange</a> objects.
                                </p>
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4081">4081</span>
                            </td>
                        </tr>
                        <tr class="build-4081" title="">
                            <td class="mth">on_revert()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when the buffer is reverted.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4081">4081</span>
                            </td>
                        </tr>
                        <tr class="build-4081" title="">
                            <td class="mth">on_revert_async()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when the buffer is reverted. Runs in a separate thread, and does not block the application.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4081">4081</span>
                            </td>
                        </tr>
                        <tr class="build-4081" title="">
                            <td class="mth">on_reload()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when the buffer is reloaded.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4081">4081</span>
                            </td>
                        </tr>
                        <tr class="build-4081" title="">
                            <td class="mth">on_reload_async()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when the buffer is reloaded. Runs in a separate thread, and does not block the application.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4081">4081</span>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </section>
            <section class="wide build-4081" title="">
                <h2 id="sublime.Syntax">
                    <code>sublime.Syntax</code> Class
                    <span class="build" title="Added in build 4081">4081</span>
                </h2>
                <p>
                    Contains information about a syntax.
                </p>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Properties</th>
                            <th>Type</th>
                            <th>Description</th>
                        </tr>
                        <tr>
                            <td class="mth">path</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                The packages path to the syntax file
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">name</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                The name of the syntax
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">hidden</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                If the syntax is hidden from the user
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">scope</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                The base scope name of the syntax
                            </td>
                        </tr>
                    </tbody>
                </table>
            </section>
            <section class="wide build-4050" title="">
                <h2 id="sublime.TextChange">
                    <code>sublime.TextChange</code> Class
                    <span class="build" title="Added in build 4050">4050</span>
                </h2>
                <p>
                    Represents a change that occured to the text of a <a href="#sublime.View"><span class="data-type">View</span></a>. This is primarily useful for replaying changes to a document.
                </p>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Properties</th>
                            <th>Type</th>
                            <th>Description</th>
                            <th class="tags"></th>
                        </tr>
                        <tr>
                            <td class="mth">a</td>
                            <td class="rtn">
                                <a href="#sublime.HistoricPosition"><span class="data-type">HistoricPosition</span></a>
                            </td>
                            <td class="dsc">
                                The beginning point of the region that was modified
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">b</td>
                            <td class="rtn">
                                <a href="#sublime.HistoricPosition"><span class="data-type">HistoricPosition</span></a>
                            </td>
                            <td class="dsc">
                                The ending point of the region that was modified
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr class="build-4075" title="">
                            <td class="mth">len_utf16</td>
                            <td class="rtn">
                                <span class="data-type">int</span>
                            </td>
                            <td class="dsc">
                                The length of the old contents, in UTF-16 code units
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4075">4075</span>
                            </td>
                        </tr>
                        <tr class="build-4075" title="">
                            <td class="mth">len_utf8</td>
                            <td class="rtn">
                                <span class="data-type">int</span>
                            </td>
                            <td class="dsc">
                                The length of the old contents, in UTF-8 code units (i.e. bytes)
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4075">4075</span>
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">str</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                A unicode string of the <em>new</em> contents of the region specified by <span class="attribute">.a</span> and <span class="attribute">.b</span>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                    </tbody>
                </table>
            </section>
            <section class="wide build-4050" title="">
                <h2 id="sublime.HistoricPosition">
                    <code>sublime.HistoricPosition</code> Class
                    <span class="build" title="Added in build 4050">4050</span>
                </h2>
                <p>
                    Provides a snapshot of the row and column info for a point, before changes were made to a <a href="#sublime.View"><span class="data-type">View</span></a>. This is primarily useful for replaying changes to a document.
                </p>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Properties</th>
                            <th>Type</th>
                            <th>Description</th>
                        </tr>
                        <tr>
                            <td class="mth">pt</td>
                            <td class="rtn">
                                <a href="#type-point"><span class="data-type">point</span></a>
                            </td>
                            <td class="dsc">
                                The unicode character offset from the beginning of the <a href="#sublime.View"><span class="data-type">View</span></a>
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">row</td>
                            <td class="rtn">
                                <span class="data-type">int</span>
                            </td>
                            <td class="dsc">
                                The row the <span class="attribute">.pt</span> was in when the <span class="data-type">HistoricPosition</span> was recorded
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">col</td>
                            <td class="rtn">
                                <span class="data-type">int</span>
                            </td>
                            <td class="dsc">
                                The column the <span class="attribute">.pt</span> was in when the <span class="data-type">HistoricPosition</span> was recorded, in Unicode characters
                            </td>
                        </tr>
                        <tr class="build-4075" title="">
                            <td class="mth">col_utf16</td>
                            <td class="rtn">
                                <span class="data-type">int</span>
                            </td>
                            <td class="dsc">
                                The value of <span class="property">.col</span>, but in UTF-16 code units
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4075">4075</span>
                            </td>
                        </tr>
                        <tr class="build-4075" title="">
                            <td class="mth">col_utf8</td>
                            <td class="rtn">
                                <span class="data-type">int</span>
                            </td>
                            <td class="dsc">
                                The value of <span class="property">.col</span>, but in UTF-8 code units (i.e. bytes)
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4075">4075</span>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </section>
            <section class="wide">
                <h2 id="type-completion"><code>completion</code> Value</h2>
                <p>
                    Represents an available auto-completion item. <span class="data-type">completion</span> values may be of serveral formats. The term <em>trigger</em> refers to the text matched against the user input, <em>replacement</em> is what is inserted into the view if the item is selected. An <em>annotation</em> is a unicode string hint displayed to the right-hand side of the trigger.
                </p>
                <ul>
                    <li>
                        <span class="data-type">str</span>
                        <p>
                            A unicode string that is both the trigger and the replacement
                        </p>
                        <pre><code class="syntax-python"><span style="color: #333333"><span style="color: #c695c6">return</span> [
    <span style="color: #5fb4b4">"</span><span style="color: #80b979">method1()</span><span style="color: #5fb4b4">"</span><span style="color: #ac7a68">,</span>
    <span style="color: #5fb4b4">"</span><span style="color: #80b979">method2()</span><span style="color: #5fb4b4">"</span>
]</span></code></pre>
                    </li>
                    <li>
                        <p>
                            2-element <span class="data-type">list</span>/<span class="data-type">tuple</span>
                        </p>
                        <p>
                            A pair of unicode strings, the trigger and the replacement.
                        </p>
                        <pre><code class="syntax-python"><span style="color: #333333"><span style="color: #c695c6">return</span> [
    [<span style="color: #5fb4b4">"</span><span style="color: #80b979">me1</span><span style="color: #5fb4b4">"</span><span style="color: #ac7a68">,</span> <span style="color: #5fb4b4">"</span><span style="color: #80b979">method1()</span><span style="color: #5fb4b4">"</span>]<span style="color: #ac7a68">,</span>
    [<span style="color: #5fb4b4">"</span><span style="color: #80b979">me2</span><span style="color: #5fb4b4">"</span><span style="color: #ac7a68">,</span> <span style="color: #5fb4b4">"</span><span style="color: #80b979">method2()</span><span style="color: #5fb4b4">"</span>]
]</span></code></pre>
                        <p>
                            If a <code>\t</code> is present in the trigger, all subsequent text is treated as an annotation.
                        </p>
                        <pre><code class="syntax-python"><span style="color: #333333"><span style="color: #c695c6">return</span> [
    [<span style="color: #5fb4b4">"</span><span style="color: #80b979">me1</span><span style="color: #c695c6">\t</span><span style="color: #80b979">method</span><span style="color: #5fb4b4">"</span><span style="color: #ac7a68">,</span> <span style="color: #5fb4b4">"</span><span style="color: #80b979">method1()</span><span style="color: #5fb4b4">"</span>]<span style="color: #ac7a68">,</span>
    [<span style="color: #5fb4b4">"</span><span style="color: #80b979">me2</span><span style="color: #c695c6">\t</span><span style="color: #80b979">method</span><span style="color: #5fb4b4">"</span><span style="color: #ac7a68">,</span> <span style="color: #5fb4b4">"</span><span style="color: #80b979">method2()</span><span style="color: #5fb4b4">"</span>]
]</span></code></pre>
                        <p>
                            The replacement text may contain dollar-numeric fields such as a snippet does, e.g. <code>$0</code>, <code>$1</code>.
                        </p>
                        <pre><code class="syntax-python"><span style="color: #333333"><span style="color: #c695c6">return</span> [
    [<span style="color: #5fb4b4">"</span><span style="color: #80b979">fn</span><span style="color: #5fb4b4">"</span><span style="color: #ac7a68">,</span> <span style="color: #5fb4b4">"</span><span style="color: #80b979">def ${1:name}($2) { $0 }</span><span style="color: #5fb4b4">"</span>]<span style="color: #ac7a68">,</span>
    [<span style="color: #5fb4b4">"</span><span style="color: #80b979">for</span><span style="color: #5fb4b4">"</span><span style="color: #ac7a68">,</span> <span style="color: #5fb4b4">"</span><span style="color: #80b979">for ($1; $2; $3) { $0 }</span><span style="color: #5fb4b4">"</span>]
]</span></code></pre>
                    </li>
                    <li class="build-4050" title="">
                        <a href="#sublime.CompletionItem"><span class="data-type">CompletionItem</span></a> object
                        <span class="build" title="Added in build 4050">4050</span>
                        <p>
                            An object containing trigger, replacement, annotation, and kind metadata
                        </p>
                        <pre><code class="syntax-python"><span style="color: #333333"><span style="color: #c695c6">return</span> [
    sublime<span style="color: #f97b58">.</span><span style="color: #6699cc">CompletionItem</span>(
        <span style="color: #5fb4b4">"</span><span style="color: #80b979">fn</span><span style="color: #5fb4b4">"</span><span style="color: #ac7a68">,</span>
        <span style="color: #f9ae58">annotation</span><span style="color: #f97b58">=</span><span style="color: #5fb4b4">"</span><span style="color: #80b979">def</span><span style="color: #5fb4b4">"</span><span style="color: #ac7a68">,</span>
        <span style="color: #f9ae58">completion</span><span style="color: #f97b58">=</span><span style="color: #5fb4b4">"</span><span style="color: #80b979">def ${1:name}($2) { $0 }</span><span style="color: #5fb4b4">"</span><span style="color: #ac7a68">,</span>
        <span style="color: #f9ae58">completion_format</span><span style="color: #f97b58">=</span>sublime<span style="color: #f97b58">.</span>COMPLETION_FORMAT_SNIPPET<span style="color: #ac7a68">,</span>
        <span style="color: #f9ae58">kind</span><span style="color: #f97b58">=</span>sublime<span style="color: #f97b58">.</span>KIND_SNIPPET
    )<span style="color: #ac7a68">,</span>
    sublime<span style="color: #f97b58">.</span><span style="color: #6699cc">CompletionItem</span>(
        <span style="color: #5fb4b4">"</span><span style="color: #80b979">for</span><span style="color: #5fb4b4">"</span><span style="color: #ac7a68">,</span>
        <span style="color: #f9ae58">completion</span><span style="color: #f97b58">=</span><span style="color: #5fb4b4">"</span><span style="color: #80b979">for ($1; $2; $3) { $0 }</span><span style="color: #5fb4b4">"</span><span style="color: #ac7a68">,</span>
        <span style="color: #f9ae58">completion_format</span><span style="color: #f97b58">=</span>sublime<span style="color: #f97b58">.</span>COMPLETION_FORMAT_SNIPPET<span style="color: #ac7a68">,</span>
        <span style="color: #f9ae58">kind</span><span style="color: #f97b58">=</span>sublime<span style="color: #f97b58">.</span>KIND_SNIPPET
    )<span style="color: #ac7a68">,</span>
]</span></code></pre>
                    </li>
                </ul>
            </section>
            <section class="wide build-4050" title="">
                <h2 id="sublime.CompletionItem">
                    <code>sublime.CompletionItem</code> Class
                    <span class="build" title="Added in build 4050">4050</span>
                </h2>
                <p>
                    Represents an available auto-completion item.
                </p>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Constructors</th>
                            <th>Description</th>
                        </tr>
                        <tr>
                            <td class="mth">CompletionItem(trigger, &lt;annotation&gt;, &lt;completion&gt;, &lt;completion_format&gt;, &lt;kind&gt;)</td>
                            <td class="dsc">
                                <dl class="parameters">
                                    <dt>
                                        <span class="parameter">trigger</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            A unicode string of the text to match against the user's input.
                                        </p>
                                    </dd>
                                    <dt>
                                        <span class="parameter">annotation</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            An optional unicode string of a hint to draw to the right-hand side of the trigger.
                                        </p>
                                    </dd>
                                    <dt>
                                        <span class="parameter">completion</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            An optional unicode string of the text to insert if the completion is specified. If empty, the <span class="parameter">trigger</span> will be inserted.
                                        </p>
                                    </dd>
                                    <dt>
                                        <span class="parameter">completion_format</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            The format of the <span class="parameter">completion</span>:
                                        </p>
                                        <ul>
                                            <li>
                                                <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>COMPLETION_FORMAT_TEXT</span></code>: Plain text – <em>the default</em>
                                            </li>
                                            <li>
                                                <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>COMPLETION_FORMAT_SNIPPET</span></code>: A snippet, with <code>$</code> variables. See also the <a href="#sublime.CompletionItem.snippet_completion"><span class="method">CompletionItem.snippet_completion()</span></a> class method.
                                            </li>
                                            <li>
                                                <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>COMPLETION_FORMAT_COMMAND</span></code>: A command string, encoded via <a href="#sublime.format_command">format_command()</a>. See also the <a href="#sublime.CompletionItem.command_completion"><span class="method">CompletionItem.command_completion()</span></a> class method.
                                            </li>
                                        </ul>
                                    </dd>
                                    <dt>
                                        <span class="parameter">kind</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            An optional <a href="#type-kind_tuple"><span class="data-type">kind</span> tuple</a> that controls the presentation in the auto-complete window – <em>defaults to <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_AMBIGUOUS</span></code></em>.
                                        </p>
                                    </dd>
                                    <dt>
                                        details
                                        <span class="build" title="Added in build 4073">4073</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            An optional HTML description of the completion, shown in the detail pane at the bottom of the auto complete window. Only supports limited inline HTML, including the tags:
                                        </p>
                                    </dd>
                                </dl>
                            </td>
                        </tr>
                        <tr id="sublime.CompletionItem.snippet_completion">
                            <td class="mth">CompletionItem.snippet_completion(trigger, snippet, &lt;annotation&gt;, &lt;kind&gt;)</td>
                            <td class="dsc">
                                <dl class="parameters">
                                    <dt>
                                        <span class="parameter">trigger</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            A unicode string of the text to match against the user's input.
                                        </p>
                                    </dd>
                                    <dt>
                                        <span class="parameter">snippet</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            The snippet text to insert if the item is selected.
                                        </p>
                                    </dd>
                                    <dt>
                                        <span class="parameter">annotation</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            An optional unicode string of a hint to draw to the right-hand side of the trigger.
                                        </p>
                                    </dd>
                                    <dt>
                                        <span class="parameter">kind</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            An optional <a href="#type-kind_tuple"><span class="data-type">kind</span> tuple</a> that controls the presentation in the auto-complete window – <em>defaults to <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_SNIPPET</span></code></em>.
                                        </p>
                                    </dd>
                                    <dt>
                                        <span class="parameter">details</span>
                                        <span class="build" title="Added in build 4073">4073</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            An optional HTML description of the completion, shown in the detail pane at the bottom of the auto complete window. Only supports <a href="https://www.sublimetext.com/docs/minihtml.#inline_formatting">limited inline HTML</a>.
                                        </p>
                                    </dd>
                                </dl>
                            </td>
                        </tr>
                        <tr id="sublime.CompletionItem.command_completion">
                            <td class="mth">CompletionItem.command_completion(trigger, command, &lt;args&gt;, &lt;annotation&gt;, &lt;kind&gt;)</td>
                            <td class="dsc">
                                <dl class="parameters">
                                    <dt>
                                        <span class="parameter">trigger</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            A unicode string of the text to match against the user's input.
                                        </p>
                                    </dd>
                                    <dt>
                                        <span class="parameter">command</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            A unicode string of the command to execute
                                        </p>
                                    </dd>
                                    <dt>
                                        <span class="parameter">args</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            An optional <span class="data-type">dict</span> of args to pass to the <span class="parameter">command</span>
                                        </p>
                                    </dd>
                                    <dt>
                                        <span class="parameter">annotation</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            An optional unicode string of a hint to draw to the right-hand side of the trigger.
                                        </p>
                                    </dd>
                                    <dt>
                                        <span class="parameter">kind</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            An optional <a href="#type-kind_tuple"><span class="data-type">kind</span> tuple</a> that controls the presentation in the auto-complete window – <em>defaults to <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_AMBIGUOUS</span></code></em>.
                                        </p>
                                    </dd>
                                    <dt>
                                        <span class="parameter">details</span>
                                        <span class="build" title="Added in build 4073">4073</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            An optional HTML description of the completion, shown in the detail pane at the bottom of the auto complete window. Only supports limited inline HTML, including the tags:
                                        </p>
                                        <ul>
                                            <li><code class="syntax-html"><span style="color: #333333"><span style="color: #5fb4b4">&lt;</span><span style="color: #ec5f66">a</span> <span style="color: #c695c6">href</span><span style="color: #ac7a68">=</span><span style="color: #5fb4b4">"</span><span style="color: #5fb4b4">"</span><span style="color: #5fb4b4">&gt;</span></span></code> – <a href="https://www.sublimetext.com/docs/minihtml.html#protocols">protocols</a></li>
                                            <li><code class="syntax-html"><span style="color: #333333"><span style="color: #5fb4b4">&lt;</span><span style="color: #ec5f66">b</span><span style="color: #5fb4b4">&gt;</span></span></code></li>
                                            <li><code class="syntax-html"><span style="color: #333333"><span style="color: #5fb4b4">&lt;</span><span style="color: #ec5f66">strong</span><span style="color: #5fb4b4">&gt;</span></span></code></li>
                                            <li><code class="syntax-html"><span style="color: #333333"><span style="color: #5fb4b4">&lt;</span><span style="color: #ec5f66">i</span><span style="color: #5fb4b4">&gt;</span></span></code></li>
                                            <li><code class="syntax-html"><span style="color: #333333"><span style="color: #5fb4b4">&lt;</span><span style="color: #ec5f66">em</span><span style="color: #5fb4b4">&gt;</span></span></code></li>
                                            <li><code class="syntax-html"><span style="color: #333333"><span style="color: #5fb4b4">&lt;</span><span style="color: #ec5f66">u</span><span style="color: #5fb4b4">&gt;</span></span></code></li>
                                            <li><code class="syntax-html"><span style="color: #333333"><span style="color: #5fb4b4">&lt;</span><span style="color: #ec5f66">tt</span><span style="color: #5fb4b4">&gt;</span></span></code></li>
                                            <li><code class="syntax-html"><span style="color: #333333"><span style="color: #5fb4b4">&lt;</span><span style="color: #ec5f66">code</span><span style="color: #5fb4b4">&gt;</span></span></code></li>
                                        </ul>
                                    </dd>
                                </dl>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </section>
            <section class="wide">
                <h2 id="type-event_dict"><code>event</code> Dict</h2>
                <p>
                    Contains information about a user’s interaction with a menu, command palette selection, quick panel selection or HTML document. The follow methods are used to signal that an event <span class="data-type">dict</span> is desired:
                </p>
                <ul>
                    <li>
                        Commands may opt-in to receive an arg named <code>event</code> by implementing the method <code class="syntax-python"><span style="color: #333333"><span style="color: #6699cc">want_event</span>(<span style="color: #ec5f66; font-style: italic">self</span>)</span></code> and returning <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code>.
                    </li>
                    <li class="build-4096" title="">
                        A call to <a href="#sublime.Window.show_quick_panel"><code>show_quick_panel()</code></a> may opt-in to receive a second arg to the <span class="parameter">on_done</span> callback by specifying the flag <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>WANT_EVENT</span></code>. <span class="build" title="Added in build 4096">4096</span>
                    </li>
                    <li class="build-4096" title="">
                        <a href="#sublime_plugin.ListInputHandler"><code>ListInputHandler</code></a> classes may opt-in to receive a second arg to the <code class="syntax-python"><span style="color: #333333"><span style="color: #6699cc">validate</span>()</span></code> and <code class="syntax-python"><span style="color: #333333"><span style="color: #6699cc">confirm</span>()</span></code> methods by by implementing the method <code class="syntax-python"><span style="color: #333333"><span style="color: #6699cc">want_event</span>(<span style="color: #ec5f66; font-style: italic">self</span>)</span></code> and returning <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code>. <span class="build" title="Added in build 4096">4096</span>
                    </li>
                </ul>
                <p>
                    The <span class="data-type">dict</span> may contain zero or more of the following keys, based on the user interaction:
                </p>
                <dl class="enum properties">
                    <dt>
                        <span class="key">x</span>
                    </dt>
                    <dd>
                        <p>
                            A float of the X mouse position when a user clicks on a menu, or in a minihtml document.
                        </p>
                    </dd>
                    <dt>
                        <span class="key">y</span>
                    </dt>
                    <dd>
                        <p>
                            A float of the Y mouse position when a user clicks on a menu, or in a minihtml document.
                        </p>
                    </dd>
                    <dt class="build-4096" title="">
                        <span class="key">modifier_keys</span>
                        <span class="build" title="Added in build 4096">4096</span>
                    </dt>
                    <dd class="build-4096" title="">
                        <p>
                            A <span class="data-type">dict</span> with zero or more of the following keys:
                        </p>
                        <ul>
                            <li>
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">primary</span><span style="color: #5fb4b4">"</span></span></code>
                                - indicating <span class="keys"><b>Ctrl</b></span> (Windows/Linux) or <span class="keys"><b>Cmd</b></span> (Mac) was pressed
                            </li>
                            <li>
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">ctrl</span><span style="color: #5fb4b4">"</span></span></code>
                                - indicating <span class="keys"><b>Ctrl</b></span> was pressed
                            </li>
                            <li>
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">alt</span><span style="color: #5fb4b4">"</span></span></code>
                                - indicating <span class="keys"><b>Alt</b></span> was pressed
                            </li>
                            <li>
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">altgr</span><span style="color: #5fb4b4">"</span></span></code>
                                - indicating <span class="keys"><b>AltGr</b></span> was pressed (Linux only)
                            </li>
                            <li>
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">shift</span><span style="color: #5fb4b4">"</span></span></code>
                                - indicating <span class="keys"><b>Shift</b></span> was pressed
                            </li>
                            <li>
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">super</span><span style="color: #5fb4b4">"</span></span></code>
                                - indicating <span class="keys"><b>Win</b></span> (Windows/Linux) or <span class="keys"><b>Cmd</b></span> (Mac) was pressed
                            </li>
                        </ul>
                        <p>
                            Present when the user selects an item from a quick panel, selects an item from a <a href="#sublime_plugin.ListInputHandler"><code>ListInputHandler</code></a>, or clicks a link in a minihtml document.
                        </p>
                    </dd>
                </dl>
            </section>
            <section class="wide build-4050" title="">
                <h2 id="type-kind_tuple">
                    <code>kind</code> Tuple
                    <span class="build" title="Added in build 4050">4050</span>
                </h2>
                <p>
                    Metadata about the kind of a symbol, <a href="#sublime.CompletionItem"><span class="data-type">CompletionItem</span></a>, <a href="#sublime.QuickPanelItem"><span class="data-type">QuickPanelItem</span></a> or <a href="#sublime.ListInputItem"><span class="data-type">ListInputItem</span></a>. Controls the color and letter shown in the "icon" presented to the left of the item.
                </p>
                <p>
                    Options include pre-constructed combinations, or completely custom values.
                </p>
                <div class="pre_constructed">
                    <p>
                        Pre-contructed options include:
                    </p>
                    <ul>
                        <li>
                            <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_AMBIGUOUS</span></code><br>
                            When there source of the item is unknown – <em>the default</em>.<br>
                            <em>Letter: none, theme class:</em> <code>kind_ambiguous</code>
                        </li>
                        <li>
                            <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_KEYWORD</span></code><br>
                            When the item represents a keyword.<br>
                            <em>Letter:</em> <code>k</code>, <em>theme class:</em> <code>kind_keyword</code>
                        </li>
                        <li>
                            <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_TYPE</span></code><br>
                            When the item represents a data type, class, struct, interface, enum, trait, etc.<br>
                            <em>Letter:</em> <code>t</code>, <em>theme class:</em> <code>kind_type</code>
                        </li>
                        <li>
                            <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_FUNCTION</span></code><br>
                            When the item represents a function, method, constructor or subroutine.<br>
                            <em>Letter:</em> <code>f</code>, <em>theme class:</em> <code>kind_function</code>
                        </li>
                        <li>
                            <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_NAMESPACE</span></code><br>
                            When the item represents a namespace or module.<br>
                            <em>Letter:</em> <code>a</code>, <em>theme class:</em> <code>kind_namespace</code>
                        </li>
                        <li>
                            <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_NAVIGATION</span></code><br>
                            When the item represents a definition, label or section.<br>
                            <em>Letter:</em> <code>n</code>, <em>theme class:</em> <code>kind_navigation</code>
                        </li>
                        <li>
                            <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_MARKUP</span></code><br>
                            When the item represents a markup component, including HTML tags and CSS selectors.<br>
                            <em>Letter:</em> <code>m</code>, <em>theme class:</em> <code>kind_markup</code>
                        </li>
                        <li>
                            <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_VARIABLE</span></code><br>
                            When the item represents a variable, member, attribute, constant or parameter.<br>
                            <em>Letter:</em> <code>v</code>, <em>theme class:</em> <code>kind_variable</code>
                        </li>
                        <li>
                            <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_SNIPPET</span></code><br>
                            When the item contains a snippet.<br>
                            <em>Letter:</em> <code>s</code>, <em>theme class:</em> <code>kind_snippet</code>
                        </li>
                    </ul>
                </div>
                <div class="custom_built">
                    <p>
                        Custom kind information may also be passed, via a 3-element tuple, in the following format:
                    </p>
                    <ol>
                        <li>A kind id, which controls the theme class used to contain the letter:
                            <ul>
                                <li>
                                    <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_ID_AMBIGUOUS</span></code><br>
                                    When there source of the item is unknown
                                </li>
                                <li>
                                    <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_ID_KEYWORD</span></code><br>
                                    When the item represents a keyword
                                </li>
                                <li>
                                    <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_ID_TYPE</span></code><br>
                                    When the item represents a data type
                                </li>
                                <li>
                                    <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_ID_FUNCTION</span></code><br>
                                    When the item represents a function, method, constructor or subroutine
                                </li>
                                <li>
                                    <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_ID_NAMESPACE</span></code><br>
                                    When the item represents a namespace or module
                                </li>
                                <li>
                                    <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_ID_NAVIGATION</span></code><br>
                                    When the item represents a definition, label or section
                                </li>
                                <li>
                                    <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_ID_MARKUP</span></code><br>
                                    When the item represents a markup component, including HTML tags and CSS selectors
                                </li>
                                <li>
                                    <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_ID_VARIABLE</span></code><br>
                                    When the item represents a variable, member, attribute, constant or parameter
                                </li>
                                <li>
                                    <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_ID_SNIPPET</span></code><br>
                                    When the item contains a snippet
                                </li>
                            </ul>
                        </li>
                        <li>
                            A unicode string containing a single unicode character. This is shown as an "icon" to the left of the <code>trigger</code>.
                        </li>
                        <li>
                            An optional unicode string to describe the kind, shown in the detail pane at the bottom of the auto-complete window, or via tooltip when hovering over the "icon".
                        </li>
                    </ol>
                </div>
                <p class="build-4095" style="clear: both" title="">
                    For <a href="#sublime.QuickPanelItem"><span class="data-type">QuickPanelItem</span></a> and <a href="#sublime.ListInputItem"><span class="data-type">ListInputItem</span></a>objects, a custom tuple may also use one of the following kind ids, which are pulled from the user's global color scheme. These are intended to help build semantic user interactions, such as using green for "Yes" and red for "No".
                    <span class="build" title="Added in build 4095">4095</span>
                </p>
                <ul class="build-4095" title="">
                    <li>
                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_ID_COLOR_REDISH</span></code><br>
                        The closest color in the color scheme to red
                    </li>
                    <li>
                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_ID_COLOR_ORANGISH</span></code><br>
                        The closest color in the color scheme to orange
                    </li>
                    <li>
                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_ID_COLOR_YELLOWISH</span></code><br>
                        The closest color in the color scheme to yellow
                    </li>
                    <li>
                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_ID_COLOR_GREENISH</span></code><br>
                        The closest color in the color scheme to green
                    </li>
                    <li>
                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_ID_COLOR_CYANISH</span></code><br>
                        The closest color in the color scheme to cyan
                    </li>
                    <li>
                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_ID_COLOR_BLUISH</span></code><br>
                        The closest color in the color scheme to blue
                    </li>
                    <li>
                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_ID_COLOR_PURPLISH</span></code><br>
                        The closest color in the color scheme to purple
                    </li>
                    <li>
                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_ID_COLOR_PINKISH</span></code><br>
                        The closest color in the color scheme to pink
                    </li>
                    <li>
                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_ID_COLOR_DARK</span></code><br>
                        A dark grey or black color, as defined by the user's theme
                    </li>
                    <li>
                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_ID_COLOR_LIGHT</span></code><br>
                        A light grey or white color, as defined by the user's theme
                    </li>
                </ul>
            </section>
            <section class="wide build-4050" title="">
                <h2 id="sublime.CompletionList">
                    <code>sublime.CompletionList</code> Class
                    <span class="build" title="Added in build 4050">4050</span>
                </h2>
                <p>
                    Represents a list of completions, some of which may be in the process of being asynchronously fetched.
                </p>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Constructors</th>
                            <th>Description</th>
                        </tr>
                        <tr>
                            <td class="mth">CompletionList(&lt;completions&gt;, &lt;flags&gt;)</td>
                            <td class="dsc">
                                <dl class="parameters">
                                    <dt>
                                        <span class="parameter">completions</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            An optional list of <a href="#type-completion"><span class="data-type">completion values</span></a>. If <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code> is passed, the method <span class="menu">set_completions()</span> must be called before the completions will be displayed to the user.
                                        </p>
                                    </dd>
                                    <dt>
                                        <span class="parameter">flags</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            A bitwise OR of:
                                        </p>
                                        <ul>
                                            <li>
                                                <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>INHIBIT_WORD_COMPLETIONS</span></code>: prevent Sublime Text from showing completions based on the contents of the view
                                            </li>
                                            <li>
                                                <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>INHIBIT_EXPLICIT_COMPLETIONS</span></code>: prevent Sublime Text from showing completions based on <span class="file">.sublime-completions</span> files
                                            </li>
                                            <li class="build-4057" title="">
                                                <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>DYNAMIC_COMPLETIONS</span></code>: if completions should be re-queried as the user types
                                                <span class="build" title="Added in build 4057">4057</span>
                                            </li>
                                            <li class="build-4074" title="">
                                                <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>INHIBIT_REORDER</span></code>: prevent Sublime Text from changing the completion order
                                                <span class="build" title="Added in build 4074">4074</span>
                                            </li>
                                        </ul>
                                    </dd>
                                </dl>
                            </td>
                        </tr>
                    </tbody>
                </table>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Methods</th>
                            <th>Return Value</th>
                            <th>Description</th>
                            <th class="tags"></th>
                        </tr>
                        <tr>
                            <td class="mth">set_completions(completions, &lt;flags&gt;)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                <p>
                                    Sets the list of completions, allowing the list to be displayed to the user.
                                </p>
                                <p>
                                    The parameter <span class="parameter">flags</span> may be a bitwise OR of:
                                </p>
                                <ul>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>INHIBIT_WORD_COMPLETIONS</span></code>: prevent Sublime Text from showing completions based on the contents of the view
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>INHIBIT_EXPLICIT_COMPLETIONS</span></code>: prevent Sublime Text from showing completions based on <span class="file">.sublime-completions</span> files
                                    </li>
                                    <li class="build-4057" title="">
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>DYNAMIC_COMPLETIONS</span></code>: if completions should be re-queried as the user types
                                        <span class="build" title="Added in build 4057">4057</span>
                                    </li>
                                    <li class="build-4074" title="">
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>INHIBIT_REORDER</span></code>: prevent Sublime Text from changing the completion order
                                        <span class="build" title="Added in build 4074">4074</span>
                                    </li>
                                </ul>
                            </td>
                            <td class="tags"></td>
                        </tr>
                    </tbody>
                </table>
            </section>
            <section class="wide build-4083" title="">
                <h2 id="sublime.QuickPanelItem">
                    <code>sublime.QuickPanelItem</code> Class
                    <span class="build" title="Added in build 4083">4083</span>
                </h2>
                <p>
                    Represents a row in the quick panel, shown via <a href="#sublime.Window.show_quick_panel"><code>show_quick_panel()</code></a>.
                </p>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Constructor</th>
                            <th>Description</th>
                        </tr>
                        <tr>
                            <td class="mth">QuickPanelItem(trigger, &lt;details&gt;, &lt;annotation&gt;, &lt;kind&gt;)</td>
                            <td class="dsc">
                                <dl class="parameters">
                                    <dt>
                                        <span class="parameter">trigger</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            A unicode string of the text to match against the user's input.
                                        </p>
                                    </dd>
                                    <dt>
                                        <span class="parameter">details</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            An optional unicode string, or list of unicode strings, containing <a href="https://www.sublimetext.com/docs/minihtml.html#inline_formatting">limited inline HTML</a>. Displayed below the trigger.
                                        </p>
                                    </dd>
                                    <dt>
                                        <span class="parameter">annotation</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            An optional unicode string of a hint to draw to the right-hand side of the row.
                                        </p>
                                    </dd>
                                    <dt>
                                        <span class="parameter">kind</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            An optional <a href="#type-kind_info"><span class="data-type">kind</span> tuple</a> – <em>defaults to <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_AMBIGUOUS</span></code></em>.
                                        </p>
                                    </dd>
                                </dl>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </section>
            <section class="wide build-4085" title="">
                <h2 id="sublime.SymbolRegion">
                    <code>sublime.SymbolRegion</code> Class
                    <span class="build" title="Added in build 4085">4085</span>
                </h2>
                <p>
                    Contains information about a region of a View that contains a symbol
                </p>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Properties</th>
                            <th>Type</th>
                            <th>Description</th>
                        </tr>
                        <tr>
                            <td class="mth">name</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                The symbol
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">region</td>
                            <td class="rtn">
                                <a href="#sublime.Region"><span class="data-type">Region</span></a>
                            </td>
                            <td class="dsc">
                                The location of the symbol within the view
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">syntax</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                The name of the syntax for the symbol
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">type</td>
                            <td class="rtn">
                                <span class="data-type">int</span>
                            </td>
                            <td class="dsc">
                                <p>
                                    The type of the symbol location - one of the following values:
                                </p>
                                <ul>
                                    <li><code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>SYMBOL_TYPE_DEFINITION</span></code></li>
                                    <li><code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>SYMBOL_TYPE_REFERENCE</span></code></li>
                                </ul>
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">kind</td>
                            <td class="rtn">
                                <a href="#type-kind_tuple"><span class="data-type">kind</span> tuple</a>
                            </td>
                            <td class="dsc">
                                The kind info for the symbol. References will always be <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_AMBIGUOUS</span></code>.
                            </td>
                        </tr>
                    </tbody>
                </table>
            </section>
            <section class="wide">
                <h2 id="sublime.Window"><code>sublime.Window</code> Class</h2>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Methods</th>
                            <th>Return Value</th>
                            <th>Description</th>
                            <th class="tags"></th>
                        </tr>
                        <tr>
                            <td class="mth">id()</td>
                            <td class="rtn">
                                <span class="data-type">int</span>
                            </td>
                            <td class="dsc">
                                Returns a number that uniquely identifies this window.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">new_file()</td>
                            <td class="rtn">
                                <a href="#sublime.View"><span class="data-type">View</span></a>
                            </td>
                            <td class="dsc">
                                Creates a new file. The returned view will be empty, and its <span class="menu">is_loaded()</span> method will return <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr id="sublime.Window.open_file">
                            <td class="mth">open_file(file_name, &lt;flags&gt;, &lt;group&gt;)</td>
                            <td class="rtn">
                                <a href="#sublime.View"><span class="data-type">View</span></a>
                            </td>
                            <td class="dsc">
                                <p>
                                    Opens the named file, and returns the corresponding view. If the file is already opened, it will be brought to the front. Note that as file loading is asynchronous, operations on the returned view won't be possible until its <span class="method">is_loading()</span> method returns <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">False</span></span></code>.
                                </p>
                                <p>
                                    The optional <span class="parameter">flags</span> parameter is a bitwise combination of:
                                </p>
                                <ul>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>ENCODED_POSITION</span></code>: Indicates the file_name should be searched for a <code>:row</code> or <code>:row:col</code> suffix
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>TRANSIENT</span></code>: Open the file as a preview only: it won't have a tab assigned it until modified
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>FORCE_GROUP</span></code>: Don't select the file if it is open in a different group
                                    </li>
                                    <li class="build-4050" title="">
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>ADD_TO_SELECTION</span></code> <span class="build" title="Added in build 4050">4050</span>: Add the file to the currently selected sheets in this group
                                    </li>
                                    <li class="build-4096" title="">
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>REPLACE_MRU</span></code> <span class="build" title="Added in build 4096">4096</span>: Causes the sheet to replace the most-recently used sheet in the current sheet selection
                                    </li>
                                    <li class="build-4096" title="">
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>SEMI_TRANSIENT</span></code> <span class="build" title="Added in build 4096">4096</span>: Valid in combination with <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>ADD_TO_SELECTION</span></code> and <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>REPLACE_MRU</span></code>. If a sheet is newly created, it will be set to semi-transient.
                                    </li>
                                    <li class="build-4100" title="">
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>CLEAR_TO_RIGHT</span></code> <span class="build" title="Added in build 4100">4100</span>: Valid in combination with <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>ADD_TO_SELECTION</span></code>. All currently selected sheets to the right of the most-recently used sheet will be unselected before opening the file.
                                    </li>
                                </ul>
                                <p>
                                    The optional <span class="parameter">group</span> parameter an a 0-based integer of the group to open the file within. <code class="syntax-python"><span style="color: #333333"><span style="color: #f97b58">-</span><span style="color: #f9ae58">1</span></span></code> specifies the active group.
                                </p>
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">find_open_file(file_name)</td>
                            <td class="rtn">
                                <a href="#sublime.View"><span class="data-type">View</span></a>
                            </td>
                            <td class="dsc">
                                Finds the named file in the list of open files, and returns the corresponding View, or <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code> if no such file is open.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr class="build-4065" title="">
                            <td class="mth">new_html_sheet(name, contents, &lt;flags&gt;, &lt;group&gt;)</td>
                            <td class="rtn">
                                <a href="#sublime.Sheet"><span class="data-type">Sheet</span></a>
                            </td>
                            <td class="dsc">
                                <p>
                                    Constructs a sheet with HTML contents rendered using <a href="https://www.sublimetext.com/docs/minihtml.html">minihtml</a>.
                                </p>
                                <dl class="parameters">
                                    <dt>
                                        <span class="parameter">name</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            A unicode string of the sheet name, shown in tab and Open Files
                                        </p>
                                    </dd>
                                    <dt>
                                        <span class="parameter">contents</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            A unicode string of the HTML contents
                                        </p>
                                    </dd>
                                    <dt>
                                        <span class="parameter">flags</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            A bitwise combination of:
                                        </p>
                                        <ul>
                                            <li>
                                                <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>TRANSIENT</span></code>: If the sheet should be transient
                                            </li>
                                            <li>
                                                <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>ADD_TO_SELECTION</span></code>: Add the file to the currently selected sheets in this group
                                            </li>
                                        </ul>
                                    </dd>
                                    <dt>
                                        <span class="parameter">group</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            An integer of the group to add the sheet to, <code class="syntax-python"><span style="color: #333333"><span style="color: #f97b58">-</span><span style="color: #f9ae58">1</span></span></code> for the active group
                                        </p>
                                    </dd>
                                </dl>
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4065">4065</span>
                            </td>
                        </tr>
                        <tr id="sublime.Window.active_sheet">
                            <td class="mth">active_sheet()</td>
                            <td class="rtn">
                                <a href="#sublime.Sheet"><span class="data-type">Sheet</span></a>
                            </td>
                            <td class="dsc">
                                Returns the currently focused sheet.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">active_view()</td>
                            <td class="rtn">
                                <a href="#sublime.View"><span class="data-type">View</span></a>
                            </td>
                            <td class="dsc">
                                Returns the currently edited view.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr id="sublime.Window.active_sheet_in_group">
                            <td class="mth">active_sheet_in_group(group)</td>
                            <td class="rtn">
                                <a href="#sublime.Sheet"><span class="data-type">Sheet</span></a>
                            </td>
                            <td class="dsc">
                                Returns the currently focused sheet in the given <span class="parameter">group</span>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">active_view_in_group(group)</td>
                            <td class="rtn">
                                <a href="#sublime.View"><span class="data-type">View</span></a>
                            </td>
                            <td class="dsc">
                                Returns the currently edited view in the given <span class="parameter">group</span>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">sheets()</td>
                            <td class="rtn">
                                [<a href="#sublime.Sheet"><span class="data-type">Sheet</span></a>]
                            </td>
                            <td class="dsc">
                                Returns all open sheets in the window.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr id="sublime.Window.selected_sheets" class="build-4083" title="">
                            <td class="mth">selected_sheets()</td>
                            <td class="rtn">
                                [<a href="#sublime.Sheet"><span class="data-type">Sheet</span></a>]
                            </td>
                            <td class="dsc">
                                Returns all selected sheets in the window, across all groups
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4083">4083</span>
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">sheets_in_group(group)</td>
                            <td class="rtn">
                                [<a href="#sublime.Sheet"><span class="data-type">Sheet</span></a>]
                            </td>
                            <td class="dsc">
                                Returns all open sheets in the given <span class="parameter">group</span>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr id="sublime.Window.selected_sheets_in_group" class="build-4083" title="">
                            <td class="mth">selected_sheets_in_group(group)</td>
                            <td class="rtn">
                                [<a href="#sublime.Sheet"><span class="data-type">Sheet</span></a>]
                            </td>
                            <td class="dsc">
                                Returns all selected sheets in the given <span class="parameter">group</span>.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4083">4083</span>
                            </td>
                        </tr>
                        <tr id="sublime.Window.select_sheets" class="build-4083" title="">
                            <td class="mth">select_sheets(sheets)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Changes the selected sheets for the entire Windows. <span class="parameter">sheets</span> should be a <span class="data-type">list</span> of <a href="#sublime.Sheet"><span class="data-type">Sheet</span></a> objects.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4083">4083</span>
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">views()</td>
                            <td class="rtn">
                                [<a href="#sublime.View"><span class="data-type">View</span></a>]
                            </td>
                            <td class="dsc">
                                Returns all open views in the window.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">views_in_group(group)</td>
                            <td class="rtn">
                                [<a href="#sublime.View"><span class="data-type">View</span></a>]
                            </td>
                            <td class="dsc">
                                Returns all open views in the given <span class="parameter">group</span>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr id="sublime.Window.num_groups">
                            <td class="mth">num_groups()</td>
                            <td class="rtn">
                                <span class="data-type">int</span>
                            </td>
                            <td class="dsc">
                                Returns the number of view groups in the window.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr id="sublime.Window.active_group">
                            <td class="mth">active_group()</td>
                            <td class="rtn">
                                <span class="data-type">int</span>
                            </td>
                            <td class="dsc">
                                Returns the index of the currently selected group.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">focus_group(group)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Makes the given <span class="parameter">group</span> active.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr id="sublime.Window.focus_sheet">
                            <td class="mth">focus_sheet(sheet)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Switches to the given <span class="parameter">sheet</span>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">focus_view(view)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Switches to the given <span class="parameter">view</span>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr class="build-4066" title="">
                            <td class="mth">focus_window()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Switches to the window.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4066">4066</span>
                            </td>
                        </tr>
                        <tr id="sublime.Window.get_sheet_index">
                            <td class="mth">get_sheet_index(sheet)</td>
                            <td class="rtn">
                                (<span class="data-type">int</span>, <span class="data-type">int</span>)
                            </td>
                            <td class="dsc">
                                Returns the group, and index within the group of the <span class="parameter">sheet</span>. Returns <code class="syntax-python"><span style="color: #333333"><span style="color: #f97b58">-</span><span style="color: #f9ae58">1</span></span></code> if not found.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr id="sublime.Window.set_sheet_index">
                            <td class="mth">set_sheet_index(sheet, group, index)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Moves the <span class="parameter">sheet</span> to the given <span class="parameter">group</span> and <span class="parameter">index</span>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">get_view_index(view)</td>
                            <td class="rtn">
                                (<span class="data-type">int</span>, <span class="data-type">int</span>)
                            </td>
                            <td class="dsc">
                                Returns the group, and index within the group of the <span class="parameter">view</span>. Returns <code class="syntax-python"><span style="color: #333333"><span style="color: #f97b58">-</span><span style="color: #f9ae58">1</span></span></code> if not found.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">set_view_index(view, group, index)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Moves the <span class="parameter">view</span> to the given <span class="parameter">group</span> and <span class="parameter">index</span>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">status_message(string)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Show a message in the status bar.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr class="build-4067" title="">
                            <td class="mth">bring_to_front()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Brings the window in front of any other windows
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4067">4067</span>
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">is_menu_visible()</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                Returns <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code> if the menu is visible.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">set_menu_visible(flag)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Controls if the menu is visible.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">is_sidebar_visible()</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                Returns <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code> if the sidebar will be shown when contents are available.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">set_sidebar_visible(flag)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Sets the sidebar to be shown or hidden when contents are available.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">get_tabs_visible()</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                Returns <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code> if tabs will be shown for open files.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">set_tabs_visible(flag)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Controls if tabs will be shown for open files.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">is_minimap_visible()</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                Returns <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code> if the minimap is enabled.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">set_minimap_visible(flag)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Controls the visibility of the minimap.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">is_status_bar_visible()</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                Returns <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code> if the status bar will be shown.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">set_status_bar_visible(flag)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Controls the visibility of the status bar.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">folders()</td>
                            <td class="rtn">
                                [<span class="data-type">str</span>]
                            </td>
                            <td class="dsc">
                                Returns a list of the currently open folders.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">project_file_name()</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                Returns name of the currently opened project file, if any.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr class="build-4050" title="">
                            <td class="mth">workspace_file_name()</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                Returns name of the currently opened workspace file, if any.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4050">4050</span>
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">project_data()</td>
                            <td class="rtn">
                                <span class="data-type">dict</span>
                            </td>
                            <td class="dsc">
                                Returns the project data associated with the current window. The data is in the same format as the contents of a <span class="file">.sublime-project</span> file.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">set_project_data(data)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Updates the project data associated with the current window. If the window is associated with a <span class="file">.sublime-project</span> file, the project file will be updated on disk, otherwise the window will store the data internally.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">run_command(string, &lt;args&gt;)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Runs the named <a href="#sublime.WindowCommand">WindowCommand</a> with the (optional) given <span class="parameter">args</span>. This method is able to run any sort of command, dispatching the command via input focus.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr id="sublime.Window.show_quick_panel">
                            <td class="mth">show_quick_panel(items, on_done, &lt;flags&gt;, &lt;selected_index&gt;, &lt;on_highlighted&gt;, &lt;placeholder&gt;)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                <p>
                                    Shows a quick panel, to select an item in a list. <span class="parameter">on_done</span> will be called once, with the index of the selected item. If the quick panel was cancelled, <span class="parameter">on_done</span> will be called with an argument of <code class="syntax-python"><span style="color: #333333"><span style="color: #f97b58">-</span><span style="color: #f9ae58">1</span></span></code>.
                                </p>
                                <p>
                                    <span class="parameter">items</span> may be one of the following:
                                </p>
                                <ul>
                                    <li>
                                        a list of unicode strings
                                    </li>
                                    <li>
                                        a list of unicode string lists, where the first is the trigger, and all subsequent strings are details shown below the trigger
                                    </li>
                                    <li class="build-4083" title="">
                                        a list of <a href="#sublime.QuickPanelItem"><span class="data-type">QuickPanelItem</span></a> items
                                        <span class="build" title="Added in build 4083">4083</span>
                                    </li>
                                </ul>
                                <p>
                                    <span class="parameter">flags</span> is a bitwise OR of:
                                </p>
                                <ul>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>MONOSPACE_FONT</span></code>
                                    </li> - use a monospace font
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KEEP_OPEN_ON_FOCUS_LOST</span></code> - keep the quick panel open if the window loses input focus
                                    </li>
                                    <li class="build-4096" title="">
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>WANT_EVENT</span></code>
                                        <span class="build" title="Added in build 4096">4096</span> - pass a second parameter to <span class="parameter">on_done</span>, an <a href="#type-event_dict"><code>event</code> Dict</a>
                                    </li>
                                </ul>
                                <p>
                                    <span class="parameter">on_highlighted</span>, if given, will be called every time the highlighted item in the quick panel is changed.
                                </p>
                                <p class="build-4081" title="">
                                    <span class="parameter">placeholder</span> is text displayed in the input until the user enters at least one character
                                    <span class="build" title="Added in build 4081">4081</span>
                                </p>
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">show_input_panel(caption, initial_text, on_done, on_change, on_cancel)</td>
                            <td class="rtn">
                                <a href="#sublime.View"><span class="data-type">View</span></a>
                            </td>
                            <td class="dsc">
                                Shows the input panel, to collect a line of input from the user. <span class="parameter">on_done</span> and <span class="parameter">on_change</span>, if not <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>, should both be functions that expect a single string argument. <span class="parameter">on_cancel</span> should be a function that expects no arguments. The view used for the input widget is returned.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">create_output_panel(name, &lt;unlisted&gt;)</td>
                            <td class="rtn">
                                <a href="#sublime.View"><span class="data-type">View</span></a>
                            </td>
                            <td class="dsc">
                                <p>
                                    Returns the view associated with the named output panel, creating it if required. The output panel can be shown by running the <span class="command">show_panel</span> window command, with the <span class="parameter">panel</span> argument set to the name with an <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">output.</span><span style="color: #5fb4b4">"</span></span></code> prefix.
                                </p>
                                <p>
                                    The optional <span class="parameter">unlisted</span> parameter is a boolean to control if the output panel should be listed in the panel switcher.
                                </p>
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">find_output_panel(name)</td>
                            <td class="rtn">
                                <a href="#sublime.View"><span class="data-type">View</span></a>
                                <em>or</em>
                                <span class="data-type">None</span>
                            </td>
                            <td class="dsc">
                                Returns the view associated with the named output panel, or <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code> if the output panel does not exist.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">destroy_output_panel(name)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Destroys the named output panel, hiding it if currently open.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">active_panel()</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                                <em>or</em>
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Returns the name of the currently open panel, or <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code> if no panel is open. Will return built-in panel names (e.g. <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">console</span><span style="color: #5fb4b4">"</span></span></code>, <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">"</span><span style="color: #80b979">find</span><span style="color: #5fb4b4">"</span></span></code>, etc) in addition to output panels.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">panels()</td>
                            <td class="rtn">
                                [<span class="data-type">str<span class="data-type">]
                                    </span></span></td>
                            <td class="dsc">
                                Returns a list of the names of all panels that have not been marked as unlisted. Includes certain built-in panels in addition to output panels.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">lookup_symbol_in_index(symbol)</td>
                            <td class="rtn">
                                [<a href="#type-location"><span class="data-type">location</span></a>]
                            </td>
                            <td class="dsc">
                                <em>DEPRECATED - use <code>symbol_locations()</code> when possible.</em> Returns all locations where the symbol is defined across files in the current project.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">lookup_symbol_in_open_files(symbol)</td>
                            <td class="rtn">
                                [<a href="#type-location"><span class="data-type">location</span></a>]
                            </td>
                            <td class="dsc">
                                <em>DEPRECATED - use <code>symbol_locations()</code> when possible.</em> Returns all locations where the symbol is defined across open files.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr class="build-4085" title="">
                            <td class="mth">symbol_locations(sym, &lt;source&gt;, &lt;type&gt;, &lt;kind_id&gt;, &lt;kind_letter&gt;)</td>
                            <td class="rtn">
                                [<a href="#sublime.SymbolLocation"><span class="data-type">SymbolLocation</span></a>]
                            </td>
                            <td class="dsc">
                                <p>
                                    Finds all locations where the symbol <span class="parameter">sym</span> is located.
                                </p>
                                <p>
                                    <span class="parameter">source</span> controls where definitions are sourced from, and may be one of:
                                </p>
                                <ul>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>SYMBOL_SOURCE_ANY</span></code> - locations in the index, or in open files
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>SYMBOL_SOURCE_INDEX</span></code> - locations in the index, i.e. files saved to disk in a project folder
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>SYMBOL_SOURCE_OPEN_FILES</span></code> - locations in open files, even in unsaved or outside of the project
                                    </li>
                                </ul>
                                <p>
                                    <span class="parameter">type</span> controls which type of symbol locations are returned, and may be one of:
                                </p>
                                <ul>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>SYMBOL_TYPE_ANY</span></code> - locations that are definitions or references
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>SYMBOL_TYPE_DEFINITION</span></code> - locations that are symbol definitions
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>SYMBOL_TYPE_REFERENCE</span></code> - locations that are symbol references
                                    </li>
                                </ul>
                                <p>
                                    <span class="parameter">kind_id</span> filters symbol locations by their kind. References will always be <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_AMBIGUOUS</span></code>. See <a href="#type-kind_tuple"><span class="data-type">kind</span> tuple</a> for valid values.
                                </p>
                                <p>
                                    <span class="parameter">kind_letter</span> filters symbol locations additionally by the unicode character representing their kind.
                                </p>
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4085">4085</span>
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">extract_variables()</td>
                            <td class="rtn">
                                <span class="data-type">dict</span>
                            </td>
                            <td class="dsc">
                                <p>
                                    Returns a <span class="data-type">dict</span> of strings populated with contextual keys:
                                </p>
                                <ul>
                                    <span class="key">"packages"</span>
                                    <span class="key">"platform"</span>
                                    <span class="key">"file"</span>
                                    <span class="key">"file_path"</span>
                                    <span class="key">"file_name"</span>
                                    <span class="key">"file_base_name"</span>
                                    <span class="key">"file_extension"</span>
                                    <span class="key">"folder"</span>
                                    <span class="key">"project"</span>
                                    <span class="key">"project_path"</span>
                                    <span class="key">"project_name"</span>
                                    <span class="key">"project_base_name"</span>
                                    <span class="key">"project_extension"</span>
                                </ul>
                                <p>
                                    This <span class="data-type">dict</span> is suitable for passing to <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span><span style="color: #6699cc">expand_variables</span>()</span></code>.
                                </p>
                            </td>
                            <td class="tags"></td>
                        </tr>
                    </tbody>
                </table>
            </section>
            <section class="wide build-4085" title="">
                <h2 id="sublime.SymbolLocation">
                    <code>sublime.SymbolLocation</code> Class
                    <span class="build" title="Added in build 4085">4085</span>
                </h2>
                <p>
                    Contains information about a file that contains a symbol
                </p>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Properties</th>
                            <th>Type</th>
                            <th>Description</th>
                        </tr>
                        <tr>
                            <td class="mth">path</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                The filesystem path to the file containing the symbol
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">display_name</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                The project-relative path to the file containing the symbol
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">row</td>
                            <td class="rtn">
                                <span class="data-type">int</span>
                            </td>
                            <td class="dsc">
                                The row of the file the symbol is contained on
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">col</td>
                            <td class="rtn">
                                <span class="data-type">int</span>
                            </td>
                            <td class="dsc">
                                The column of the row that the symbol is contained on
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">syntax</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                The name of the syntax for the symbol
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">type</td>
                            <td class="rtn">
                                <span class="data-type">int</span>
                            </td>
                            <td class="dsc">
                                <p>
                                    The type of the symbol location - one of the following values:
                                </p>
                                <ul>
                                    <li><code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>SYMBOL_TYPE_DEFINITION</span></code></li>
                                    <li><code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>SYMBOL_TYPE_REFERENCE</span></code></li>
                                </ul>
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">kind</td>
                            <td class="rtn">
                                <a href="#type-kind_tuple"><span class="data-type">kind</span> tuple</a>
                            </td>
                            <td class="dsc">
                                The kind info for the symbol. References will always be <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_AMBIGUOUS</span></code>.
                            </td>
                        </tr>
                    </tbody>
                </table>
            </section>
            <section class="wide">
                <h2 id="sublime.Settings"><code>sublime.Settings</code> Class</h2>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Methods</th>
                            <th>Return Value</th>
                            <th>Description</th>
                            <th class="tags"></th>
                        </tr>
                        <tr>
                            <td class="mth">get(name, &lt;default&gt;)</td>
                            <td class="rtn">
                                <a href="#type-value"><span class="data-type">value</span></a>
                            </td>
                            <td class="dsc">
                                Returns the named setting, or <span class="parameter">default</span> if it's not defined. If not passed, <span class="parameter">default</span> will have a value of <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">set(name, value)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Sets the named setting. Only primitive types, <span class="data-type">list</span>s, and <span class="data-type">dict</span>s are accepted.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">erase(name)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Removes the named setting. Does not remove it from any parent Settings.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">has(name)</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                Returns <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code> iff the named option exists in this set of Settings or one of its parents.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">add_on_change(key, on_change)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Register a callback to be run whenever a setting in this object is changed.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">clear_on_change(key)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Remove all callbacks registered with the given <span class="parameter">key</span>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr class="build-4078" title="">
                            <td class="mth">to_dict()</td>
                            <td class="rtn">
                                <span class="data-type">dict</span>
                            </td>
                            <td class="dsc">
                                Returns a copy of the settings as a <span class="data-type">dict</span>
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4078">4078</span>
                                <span class="python" title="Only available in Python 3.8">3.8</span>
                            </td>
                        </tr>
                        <tr class="build-4078" title="">
                            <td class="mth">update(pairs)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                <p>
                                    Update the settings from <span class="parameter">pairs</span>, which may be any of the following:
                                </p>
                                <ul>
                                    <li>A <span class="data-type">dict</span></li>
                                    <li>An implementation of <span class="data-type">collections.abc.Mapping</span></li>
                                    <li>An object that has a <span class="method">keys()</span> method</li>
                                    <li>An object that provides key/value pairs when iterated</li>
                                    <li>Keyword arguments</li>
                                </ul>
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4078">4078</span>
                                <span class="python" title="Only available in Python 3.8">3.8</span>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </section>
            <section class="wide">
                <h2 id="sublime_plugin"><code>sublime_plugin</code> Module</h2>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Methods</th>
                            <th>Return Value</th>
                            <th>Description</th>
                        </tr>
                        <tr>
                            <td class="mth">(no methods)</td>
                            <td class="rtn"></td>
                            <td class="dsc"></td>
                        </tr>
                    </tbody>
                </table>
            </section>
            <section class="wide">
                <h2 id="sublime_plugin.EventListener"><code>sublime_plugin.EventListener</code> Class</h2>
                <p>
                    Note that many of these events are triggered by the buffer underlying the view, and thus the method is only called once, with the first view as the parameter.
                </p>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Methods</th>
                            <th>Return Value</th>
                            <th>Description</th>
                            <th class="tags"></th>
                        </tr>
                        <tr class="build-4050" title="">
                            <td class="mth">on_init([views])</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called once with a list of views that were loaded before the EventListener was instantiated
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4050">4050</span>
                            </td>
                        </tr>
                        <tr class="build-4050" title="">
                            <td class="mth">on_exit()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called once after the API has shut down, immediately before the <span class="file">plugin_host</span> process exits
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4050">4050</span>
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">on_new(view)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when a new file is created.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">on_new_async(view)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when a new buffer is created. Runs in a separate thread, and does not block the application.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr class="build-4084" title="">
                            <td class="mth">on_associate_buffer(buffer)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when a buffer is associated with a file. <span class="parameter">buffer</span> will be a <a href="#sublime.Buffer"><span class="data-type">Buffer</span></a> object.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4084">4084</span>
                            </td>
                        </tr>
                        <tr class="build-4084" title="">
                            <td class="mth">on_associate_buffer_async(buffer)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when a buffer is associated with file. Runs in a separate thread, and does not block the application. <span class="parameter">buffer</span> will be a <a href="#sublime.Buffer"><span class="data-type">Buffer</span></a> object.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4084">4084</span>
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">on_clone(view)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when a view is cloned from an existing one.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">on_clone_async(view)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when a view is cloned from an existing one. Runs in a separate thread, and does not block the application.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">on_load(view)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when the file is finished loading.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">on_load_async(view)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when the file is finished loading. Runs in a separate thread, and does not block the application.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr class="build-4050" title="">
                            <td class="mth">on_reload(view)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when the <a href="#sublime.View"><span class="data-type">View</span></a> is reloaded.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4050">4050</span>
                            </td>
                        </tr>
                        <tr class="build-4050" title="">
                            <td class="mth">on_reload_async(view)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when the <a href="#sublime.View"><span class="data-type">View</span></a> is reloaded. Runs in a separate thread, and does not block the application.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4050">4050</span>
                            </td>
                        </tr>
                        <tr class="build-4050" title="">
                            <td class="mth">on_revert(view)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when the <a href="#sublime.View"><span class="data-type">View</span></a> is reverted.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4050">4050</span>
                            </td>
                        </tr>
                        <tr class="build-4050" title="">
                            <td class="mth">on_revert_async(view)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when the <a href="#sublime.View"><span class="data-type">View</span></a> is reverted. Runs in a separate thread, and does not block the application.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4050">4050</span>
                            </td>
                        </tr>
                        <tr class="build-4050" title="">
                            <td class="mth">on_pre_move(view)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called right before a view is moved between two windows, passed the <a href="#sublime.View"><span class="data-type">View</span></a> object.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4050">4050</span>
                            </td>
                        </tr>
                        <tr class="build-4050" title="">
                            <td class="mth">on_post_move(view)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called right after a view is moved between two windows, passed the <a href="#sublime.View"><span class="data-type">View</span></a> object.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4050">4050</span>
                            </td>
                        </tr>
                        <tr class="build-4050" title="">
                            <td class="mth">on_post_move_async(view)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called right after a view is moved between two windows, passed the <a href="#sublime.View"><span class="data-type">View</span></a> object. Runs in a separate thread, and does not block the application.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4050">4050</span>
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">on_pre_close(view)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when a view is about to be closed. The view will still be in the window at this point.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">on_close(view)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when a view is closed (note, there may still be other views into the same buffer).
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">on_pre_save(view)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called just before a view is saved.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">on_pre_save_async(view)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called just before a view is saved. Runs in a separate thread, and does not block the application.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">on_post_save(view)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called after a view has been saved.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">on_post_save_async(view)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called after a view has been saved. Runs in a separate thread, and does not block the application.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">on_modified(view)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called after changes have been made to a view.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">on_modified_async(view)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called after changes have been made to a view. Runs in a separate thread, and does not block the application.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">on_selection_modified(view)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called after the selection has been modified in a view.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">on_selection_modified_async(view)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called after the selection has been modified in a view. Runs in a separate thread, and does not block the application.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">on_activated(view)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when a view gains input focus.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">on_activated_async(view)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when a view gains input focus. Runs in a separate thread, and does not block the application.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">on_deactivated(view)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when a view loses input focus.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">on_deactivated_async(view)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when a view loses input focus. Runs in a separate thread, and does not block the application.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">on_hover(view, point, hover_zone)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                <p>
                                    Called when the user's mouse hovers over a view for a short period.
                                </p>
                                <p>
                                    <span class="parameter">point</span> is the closest point in the view to the mouse location. The mouse may not actually be located adjacent based on the value of <span class="parameter">hover_zone</span>:
                                </p>
                                <ul>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>HOVER_TEXT</span></code>: When the mouse is hovered over text.
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>HOVER_GUTTER</span></code>: When the mouse is hovered over the gutter.
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>HOVER_MARGIN</span></code>: When the mouse is hovered in whitespace to the right of a line.
                                    </li>
                                </ul>
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">on_query_context(view, key, operator, operand, match_all)</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                                <em>or</em>
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                <p>
                                    Called when determining to trigger a key binding with the given context <span class="parameter">key</span>. If the plugin knows how to respond to the context, it should return either <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code> or <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">False</span></span></code>. If the context is unknown, it should return <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>.
                                </p>
                                <p>
                                    <span class="parameter">operator</span> is one of:
                                </p>
                                <ul>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>OP_EQUAL</span></code>: Is the value of the context equal to the operand?
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>OP_NOT_EQUAL</span></code>: Is the value of the context not equal to the operand?
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>OP_REGEX_MATCH</span></code>: Does the value of the context match the regex given in operand?
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>OP_NOT_REGEX_MATCH</span></code>: Does the value of the context not match the regex given in operand?
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>OP_REGEX_CONTAINS</span></code>: Does the value of the context contain a substring matching the regex given in operand?
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>OP_NOT_REGEX_CONTAINS</span></code>: Does the value of the context not contain a substring matching the regex given in operand?
                                    </li>
                                </ul>
                                <p>
                                    <span class="parameter">match_all</span> should be used if the context relates to the selections: does every selection have to match (<code class="syntax-python"><span style="color: #333333">match_all <span style="color: #f97b58">==</span> <span style="color: #ec5f66; font-style: italic">True</span></span></code>), or is at least one matching enough (<code class="syntax-python"><span style="color: #333333">match_all <span style="color: #f97b58">==</span> <span style="color: #ec5f66; font-style: italic">False</span></span></code>)?
                                </p>
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">on_query_completions(view, prefix, locations)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                                <em>or</em>
                                <span class="data-type">list</span>
                                <em>or</em>
                                <span class="data-type">tuple</span>
                                <em>or</em>
                                <a href="#sublime.CompletionList"><span class="data-type">CompletionList</span></a>
                            </td>
                            <td class="dsc">
                                <p>
                                    Called whenever completions are to be presented to the user. The <span class="parameter">prefix</span> is a unicode string of the text to complete.
                                </p>
                                <p>
                                    <span class="parameter">locations</span> is a list of <a href="#type-point">points</a>. Since this method is called for all completions in every view no matter the syntax, <code class="syntax-python"><span style="color: #333333">view<span style="color: #f97b58">.</span><span style="color: #6699cc">match_selector</span>(point<span style="color: #ac7a68">,</span> relevant_scope)</span></code> should be called to determine if the point is relevant.
                                </p>
                                <p>
                                    The return value must be one of the following formats:
                                </p>
                                <ul>
                                    <li>
                                        <p>
                                            <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>: no completions are provided
                                        </p>
                                        <pre><code class="syntax-python"><span style="color: #333333"><span style="color: #c695c6">return</span> <span style="color: #ec5f66; font-style: italic">None</span></span></code></pre>
                                    </li>
                                    <li>
                                        <p>
                                            A list of <a href="#type-completion">completion</a> values
                                        </p>
                                        <pre><code class="syntax-python"><span style="color: #333333"><span style="color: #c695c6">return</span> [
    [<span style="color: #5fb4b4">"</span><span style="color: #80b979">me1</span><span style="color: #5fb4b4">"</span><span style="color: #ac7a68">,</span> <span style="color: #5fb4b4">"</span><span style="color: #80b979">method1()</span><span style="color: #5fb4b4">"</span>]<span style="color: #ac7a68">,</span>
    [<span style="color: #5fb4b4">"</span><span style="color: #80b979">me2</span><span style="color: #5fb4b4">"</span><span style="color: #ac7a68">,</span> <span style="color: #5fb4b4">"</span><span style="color: #80b979">method2()</span><span style="color: #5fb4b4">"</span>]
]</span></code></pre>
                                    </li>
                                    <li>
                                        <p>
                                            A 2-element tuple with the first element being a list of <a href="#type-completion">completion</a> values, and the second element being flags composed via bitwise OR of:
                                        </p>
                                        <ul>
                                            <li>
                                                <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>INHIBIT_WORD_COMPLETIONS</span></code>: prevent Sublime Text from showing completions based on the contents of the view
                                            </li>
                                            <li>
                                                <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>INHIBIT_EXPLICIT_COMPLETIONS</span></code>: prevent Sublime Text from showing completions based on <span class="file">.sublime-completions</span> files
                                            </li>
                                            <li class="build-4057" title="">
                                                <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>DYNAMIC_COMPLETIONS</span></code>: if completions should be re-queried as the user types
                                                <span class="build" title="Added in build 4057">4057</span>
                                            </li>
                                            <li class="build-4074" title="">
                                                <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>INHIBIT_REORDER</span></code>: prevent Sublime Text from changing the completion order
                                                <span class="build" title="Added in build 4074">4074</span>
                                            </li>
                                        </ul>
                                        <pre><code class="syntax-python"><span style="color: #333333"><span style="color: #c695c6">return</span> (
    [
        [<span style="color: #5fb4b4">"</span><span style="color: #80b979">me1</span><span style="color: #5fb4b4">"</span><span style="color: #ac7a68">,</span> <span style="color: #5fb4b4">"</span><span style="color: #80b979">method1()</span><span style="color: #5fb4b4">"</span>]<span style="color: #ac7a68">,</span>
        [<span style="color: #5fb4b4">"</span><span style="color: #80b979">me2</span><span style="color: #5fb4b4">"</span><span style="color: #ac7a68">,</span> <span style="color: #5fb4b4">"</span><span style="color: #80b979">method2()</span><span style="color: #5fb4b4">"</span>]
    ]<span style="color: #ac7a68">,</span>
    sublime<span style="color: #f97b58">.</span>INHIBIT_WORD_COMPLETIONS
    <span style="color: #f97b58">|</span> sublime<span style="color: #f97b58">.</span>INHIBIT_EXPLICIT_COMPLETIONS
)</span></code></pre>
                                    </li>
                                    <li class="build-4050" title="">
                                        <p>
                                            A <a href="#sublime.CompletionList">CompletionList</a> object
                                            <span class="build" title="Added in build 4050">4050</span>
                                        </p>
                                        <pre><code class="syntax-python"><span style="color: #333333">cl <span style="color: #f97b58">=</span> sublime<span style="color: #f97b58">.</span><span style="color: #6699cc">CompletionList</span>(<span style="color: #f9ae58">flags</span><span style="color: #f97b58">=</span>sublime<span style="color: #f97b58">.</span>INHIBIT_WORD_COMPLETIONS)
<span style="color: #6699cc">start_background_fetch</span>(cl)
<span style="color: #c695c6">return</span> cl</span></code></pre>
                                    </li>
                                </ul>
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">on_text_command(view, command_name, args)</td>
                            <td class="rtn">
                                (<span class="data-type">str</span>, <span class="data-type">dict</span>)
                            </td>
                            <td class="dsc">
                                Called when a text command is issued. The listener may return a <code class="syntax-python"><span style="color: #333333">(command<span style="color: #ac7a68">,</span> arguments)</span></code> tuple to rewrite the command, or <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code> to run the command unmodified.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">on_window_command(window, command_name, args)</td>
                            <td class="rtn">
                                (<span class="data-type">str</span>, <span class="data-type">dict</span>)
                            </td>
                            <td class="dsc">
                                Called when a window command is issued. The listener may return a <code class="syntax-python"><span style="color: #333333">(command<span style="color: #ac7a68">,</span> arguments)</span></code> tuple to rewrite the command, or <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code> to run the command unmodified.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">on_post_text_command(view, command_name, args)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called after a text command has been executed.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">on_post_window_command(window, command_name, args)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called after a window command has been executed.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr class="build-4050" title="">
                            <td class="mth">on_new_window(window)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when a window is created, passed the <a href="#sublime.Window">Window</a> object.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4050">4050</span>
                            </td>
                        </tr>
                        <tr class="build-4050" title="">
                            <td class="mth">on_new_window_async(window)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when a window is created, passed the <a href="#sublime.Window">Window</a> object. Runs in a separate thread, and does not block the application.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4050">4050</span>
                            </td>
                        </tr>
                        <tr class="build-4050" title="">
                            <td class="mth">on_pre_close_window(window)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called right before a window is closed, passed the <a href="#sublime.Window">Window</a> object.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4050">4050</span>
                            </td>
                        </tr>
                        <tr class="build-4050" title="">
                            <td class="mth">on_new_project(window)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called right after a new project is created, passed the <a href="#sublime.Window">Window</a> object.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4050">4050</span>
                            </td>
                        </tr>
                        <tr class="build-4050" title="">
                            <td class="mth">on_new_project_async(window)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called right after a new project is created, passed the <a href="#sublime.Window">Window</a> object. Runs in a separate thread, and does not block the application.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4050">4050</span>
                            </td>
                        </tr>
                        <tr class="build-4050" title="">
                            <td class="mth">on_load_project(window)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called right after a project is loaded, passed the <a href="#sublime.Window">Window</a> object.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4050">4050</span>
                            </td>
                        </tr>
                        <tr class="build-4050" title="">
                            <td class="mth">on_load_project_async(window)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called right after a project is loaded, passed the <a href="#sublime.Window">Window</a> object. Runs in a separate thread, and does not block the application.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4050">4050</span>
                            </td>
                        </tr>
                        <tr class="build-4050" title="">
                            <td class="mth">on_pre_save_project(window)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called right before a project is saved, passed the <a href="#sublime.Window">Window</a> object.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4050">4050</span>
                            </td>
                        </tr>
                        <tr class="build-4050" title="">
                            <td class="mth">on_post_save_project(window)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called right after a project is saved, passed the <a href="#sublime.Window">Window</a> object.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4050">4050</span>
                            </td>
                        </tr>
                        <tr class="build-4050" title="">
                            <td class="mth">on_post_save_project_async(window)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called right after a project is saved, passed the <a href="#sublime.Window">Window</a> object. Runs in a separate thread, and does not block the application.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4050">4050</span>
                            </td>
                        </tr>
                        <tr class="build-4050" title="">
                            <td class="mth">on_pre_close_project(window)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called right before a project is closed, passed the <a href="#sublime.Window">Window</a> object.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4050">4050</span>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </section>
            <section class="wide">
                <h2 id="sublime_plugin.ViewEventListener"><code>sublime_plugin.ViewEventListener</code> Class</h2>
                <p>
                    A class that provides similar event handling to <a href="#sublime.EventListener">EventListener</a>, but bound to a specific view. Provides class method-based filtering to control what views objects are created for.
                </p>
                <p>
                    The view is passed as a single parameter to the constructor. The default implementation makes the view available via <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">self</span><span style="color: #f97b58">.</span>view</span></code>.
                </p>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Class Methods</th>
                            <th>Return Value</th>
                            <th>Description</th>
                        </tr>
                        <tr>
                            <td class="mth">is_applicable(settings)</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                A <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">@</span><span style="color: #6699cc; font-style: italic">classmethod</span></span></code> that receives a <a href="#sublime.Settings">Settings</a> object and should return a bool indicating if this class applies to a view with those settings
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">applies_to_primary_view_only()</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                A <code class="syntax-python"><span style="color: #333333"><span style="color: #5fb4b4">@</span><span style="color: #6699cc; font-style: italic">classmethod</span></span></code> that should return a <span class="data-type">bool</span> indicating if this class applies only to the primary view for a file. A view is considered primary if it is the only, or first, view into a file.
                            </td>
                        </tr>
                    </tbody>
                </table>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Methods</th>
                            <th>Return Value</th>
                            <th>Description</th>
                            <th class="tags"></th>
                        </tr>
                        <tr class="build-3155" title="">
                            <td class="mth">on_load()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when the file is finished loading.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 3155">3155</span>
                            </td>
                        </tr>
                        <tr class="build-3155" title="">
                            <td class="mth">on_load_async()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when the file is finished loading. Runs in a separate thread, and does not block the application.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 3155">3155</span>
                            </td>
                        </tr>
                        <tr class="build-4050" title="">
                            <td class="mth">on_reload()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when the file is reloaded.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4050">4050</span>
                            </td>
                        </tr>
                        <tr class="build-4050" title="">
                            <td class="mth">on_reload_async()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when the file is reloaded. Runs in a separate thread, and does not block the application.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4050">4050</span>
                            </td>
                        </tr>
                        <tr class="build-4050" title="">
                            <td class="mth">on_revert()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when the file is reverted.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4050">4050</span>
                            </td>
                        </tr>
                        <tr class="build-4050" title="">
                            <td class="mth">on_revert_async()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when the file is reverted. Runs in a separate thread, and does not block the application.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4050">4050</span>
                            </td>
                        </tr>
                        <tr class="build-4050" title="">
                            <td class="mth">on_pre_move()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called right before a view is moved between two windows.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4050">4050</span>
                            </td>
                        </tr>
                        <tr class="build-4050" title="">
                            <td class="mth">on_post_move()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called right after a view is moved between two windows.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4050">4050</span>
                            </td>
                        </tr>
                        <tr class="build-4050" title="">
                            <td class="mth">on_post_move_async()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called right after a view is moved between two windows. Runs in a separate thread, and does not block the application.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4050">4050</span>
                            </td>
                        </tr>
                        <tr class="build-3155" title="">
                            <td class="mth">on_pre_close()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when a view is about to be closed. The view will still be in the window at this point.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 3155">3155</span>
                            </td>
                        </tr>
                        <tr class="build-3155" title="">
                            <td class="mth">on_close()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when a view is closed (note, there may still be other views into the same buffer).
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 3155">3155</span>
                            </td>
                        </tr>
                        <tr class="build-3155" title="">
                            <td class="mth">on_pre_save()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called just before a view is saved.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 3155">3155</span>
                            </td>
                        </tr>
                        <tr class="build-3155" title="">
                            <td class="mth">on_pre_save_async()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called just before a view is saved. Runs in a separate thread, and does not block the application.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 3155">3155</span>
                            </td>
                        </tr>
                        <tr class="build-3155" title="">
                            <td class="mth">on_post_save()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called after a view has been saved.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 3155">3155</span>
                            </td>
                        </tr>
                        <tr class="build-3155" title="">
                            <td class="mth">on_post_save_async()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called after a view has been saved. Runs in a separate thread, and does not block the application.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 3155">3155</span>
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">on_modified()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called after changes have been made to the view.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">on_modified_async()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called after changes have been made to the view. Runs in a separate thread, and does not block the application.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr class="build-4050" title="">
                            <td class="mth">on_text_changed([changes])</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                <p>
                                    Called once after changes has been made to a view, with detailed information about what has changed.
                                </p>
                                <p>
                                    <span class="parameter">changes</span> is a <span class="data-type">list</span> of <a href="#sublime.TextChange">TextChange</a> objects.
                                </p>
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4050">4050</span>
                            </td>
                        </tr>
                        <tr class="build-4050" title="">
                            <td class="mth">on_text_changed_async([changes])</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                <p>
                                    Called once after changes has been made to a view, with detailed information about what has changed. Runs in a separate thread, and does not block the application.
                                </p>
                                <p>
                                    <span class="parameter">changes</span> is a <span class="data-type">list</span> of <a href="#sublime.TextChange">TextChange</a> objects.
                                </p>
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4050">4050</span>
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">on_selection_modified()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called after the selection has been modified in the view.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">on_selection_modified_async()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called after the selection has been modified in the view. Runs in a separate thread, and does not block the application.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">on_activated()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when a view gains input focus.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">on_activated_async()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when the view gains input focus. Runs in a separate thread, and does not block the application.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">on_deactivated()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when the view loses input focus.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">on_deactivated_async()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when the view loses input focus. Runs in a separate thread, and does not block the application.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">on_hover(point, hover_zone)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                <p>
                                    Called when the user's mouse hovers over the view for a short period.
                                </p>
                                <p>
                                    <span class="parameter">point</span> is the closest point in the view to the mouse location. The mouse may not actually be located adjacent based on the value of <span class="parameter">hover_zone</span>:
                                </p>
                                <ul>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>HOVER_TEXT</span></code>: When the mouse is hovered over text.
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>HOVER_GUTTER</span></code>: When the mouse is hovered over the gutter.
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>HOVER_MARGIN</span></code>: When the mouse is hovered in whitespace to the right of a line.
                                    </li>
                                </ul>
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">on_query_context(key, operator, operand, match_all)</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                                <em>or</em>
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                <p>
                                    Called when determining to trigger a key binding with the given context <span class="parameter">key</span>. If the plugin knows how to respond to the context, it should return either <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code> of <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">False</span></span></code>. If the context is unknown, it should return <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>.
                                </p>
                                <p>
                                    <span class="parameter">operator</span> is one of:
                                </p>
                                <ul>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>OP_EQUAL</span></code>: Is the value of the context equal to the operand?
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>OP_NOT_EQUAL</span></code>: Is the value of the context not equal to the operand?
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>OP_REGEX_MATCH</span></code>: Does the value of the context match the regex given in operand?
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>OP_NOT_REGEX_MATCH</span></code>: Does the value of the context not match the regex given in operand?
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>OP_REGEX_CONTAINS</span></code>: Does the value of the context contain a substring matching the regex given in operand?
                                    </li>
                                    <li>
                                        <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>OP_NOT_REGEX_CONTAINS</span></code>: Does the value of the context not contain a substring matching the regex given in operand?
                                    </li>
                                </ul>
                                <p>
                                    <span class="parameter">match_all</span> should be used if the context relates to the selections: does every selection have to match (<code class="syntax-python"><span style="color: #333333">match_all <span style="color: #f97b58">==</span> <span style="color: #ec5f66; font-style: italic">True</span></span></code>), or is at least one matching enough (<code class="syntax-python"><span style="color: #333333">match_all <span style="color: #f97b58">==</span> <span style="color: #ec5f66; font-style: italic">False</span></span></code>)?
                                </p>
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">on_query_completions(prefix, locations)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                                <em>or</em>
                                <span class="data-type">list</span>
                                <em>or</em>
                                <span class="data-type">tuple</span>
                                <em>or</em>
                                <a href="#sublime.CompletionList"><span class="data-type">CompletionList</span></a>
                            </td>
                            <td class="dsc">
                                <p>
                                    Called whenever completions are to be presented to the user. The <span class="parameter">prefix</span> is a unicode string of the text to complete.
                                </p>
                                <p>
                                    <span class="parameter">locations</span> is a list of <a href="#type-point">points</a>. Since this method is called for all completions no matter the syntax, <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">self</span><span style="color: #f97b58">.</span>view<span style="color: #f97b58">.</span><span style="color: #6699cc">match_selector</span>(point<span style="color: #ac7a68">,</span> relevant_scope)</span></code> should be called to determine if the point is relevant.
                                </p>
                                <p>
                                    The return value must be one of the following formats:
                                </p>
                                <ul>
                                    <li>
                                        <p>
                                            <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>: no completions are provided
                                        </p>
                                        <pre><code class="syntax-python"><span style="color: #333333"><span style="color: #c695c6">return</span> <span style="color: #ec5f66; font-style: italic">None</span></span></code></pre>
                                    </li>
                                    <li>
                                        <p>
                                            A list of <a href="#type-completion">completion</a> values
                                        </p>
                                        <pre><code class="syntax-python"><span style="color: #333333"><span style="color: #c695c6">return</span> [
    [<span style="color: #5fb4b4">"</span><span style="color: #80b979">me1</span><span style="color: #5fb4b4">"</span><span style="color: #ac7a68">,</span> <span style="color: #5fb4b4">"</span><span style="color: #80b979">method1()</span><span style="color: #5fb4b4">"</span>]<span style="color: #ac7a68">,</span>
    [<span style="color: #5fb4b4">"</span><span style="color: #80b979">me2</span><span style="color: #5fb4b4">"</span><span style="color: #ac7a68">,</span> <span style="color: #5fb4b4">"</span><span style="color: #80b979">method2()</span><span style="color: #5fb4b4">"</span>]
]</span></code></pre>
                                    </li>
                                    <li>
                                        <p>
                                            A 2-element tuple with the first element being a list of <a href="#type-completion">completion</a> values, and the second element being flags composed via bitwise OR of:
                                        </p>
                                        <ul>
                                            <li>
                                                <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>INHIBIT_WORD_COMPLETIONS</span></code>: prevent Sublime Text from showing completions based on the contents of the view
                                            </li>
                                            <li>
                                                <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>INHIBIT_EXPLICIT_COMPLETIONS</span></code>: prevent Sublime Text from showing completions based on <span class="file">.sublime-completions</span> files
                                            </li>
                                            <li class="build-4057" title="">
                                                <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>DYNAMIC_COMPLETIONS</span></code>: if completions should be re-queried as the user types
                                                <span class="build" title="Added in build 4057">4057</span>
                                            </li>
                                            <li class="build-4074" title="">
                                                <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>INHIBIT_REORDER</span></code>: prevent Sublime Text from changing the completion order
                                                <span class="build" title="Added in build 4074">4074</span>
                                            </li>
                                        </ul>
                                        <pre><code class="syntax-python"><span style="color: #333333"><span style="color: #c695c6">return</span> (
    [
        [<span style="color: #5fb4b4">"</span><span style="color: #80b979">me1</span><span style="color: #5fb4b4">"</span><span style="color: #ac7a68">,</span> <span style="color: #5fb4b4">"</span><span style="color: #80b979">method1()</span><span style="color: #5fb4b4">"</span>]<span style="color: #ac7a68">,</span>
        [<span style="color: #5fb4b4">"</span><span style="color: #80b979">me2</span><span style="color: #5fb4b4">"</span><span style="color: #ac7a68">,</span> <span style="color: #5fb4b4">"</span><span style="color: #80b979">method2()</span><span style="color: #5fb4b4">"</span>]
    ]<span style="color: #ac7a68">,</span>
    sublime<span style="color: #f97b58">.</span>INHIBIT_WORD_COMPLETIONS
    <span style="color: #f97b58">|</span> sublime<span style="color: #f97b58">.</span>INHIBIT_EXPLICIT_COMPLETIONS
)</span></code></pre>
                                    </li>
                                    <li class="build-4050" title="">
                                        <p>
                                            A <a href="#sublime.CompletionList">CompletionList</a> object
                                            <span class="build" title="Added in build 4050">4050</span>
                                        </p>
                                        <pre><code class="syntax-python"><span style="color: #333333">cl <span style="color: #f97b58">=</span> sublime<span style="color: #f97b58">.</span><span style="color: #6699cc">CompletionList</span>(<span style="color: #f9ae58">flags</span><span style="color: #f97b58">=</span>sublime<span style="color: #f97b58">.</span>INHIBIT_WORD_COMPLETIONS)
<span style="color: #6699cc">start_background_fetch</span>(cl)
<span style="color: #c695c6">return</span> cl</span></code></pre>
                                    </li>
                                </ul>
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr class="build-3155" title="">
                            <td class="mth">on_text_command(command_name, args)</td>
                            <td class="rtn">
                                (<span class="data-type">str</span>, <span class="data-type">dict</span>)
                            </td>
                            <td class="dsc">
                                Called when a text command is issued. The listener may return a <code class="syntax-python"><span style="color: #333333">(command<span style="color: #ac7a68">,</span> arguments)</span></code> tuple to rewrite the command, or <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code> to run the command unmodified.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 3155">3155</span>
                            </td>
                        </tr>
                        <tr class="build-3155" title="">
                            <td class="mth">on_post_text_command(command_name, args)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called after a text command has been executed.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 3155">3155</span>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </section>
            <section class="wide">
                <h2 id="sublime_plugin.ApplicationCommand"><code>sublime_plugin.ApplicationCommand</code> Class</h2>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Methods</th>
                            <th>Return Value</th>
                            <th>Description</th>
                            <th class="tags"></th>
                        </tr>
                        <tr>
                            <td class="mth">run(&lt;args&gt;)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when the command is run.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">is_enabled(&lt;args&gt;)</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                Returns <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code> if the command is able to be run at this time. The default implementation simply always returns <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">is_visible(&lt;args&gt;)</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                Returns <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code> if the command should be shown in the menu at this time. The default implementation always returns <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">is_checked(&lt;args&gt;)</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                Returns <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code> if a checkbox should be shown next to the menu item. The <span class="file">.sublime-menu</span> file must have the <span class="key">"checkbox</span> key set to <code class="syntax-json"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">true</span></span></code> for this to be used.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">description(&lt;args&gt;)</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                Returns a description of the command with the given arguments. Used in the menu, if no caption is provided. Return <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code> to get the default description.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr class="build-3154" title="">
                            <td class="mth">input(args)</td>
                            <td class="rtn">
                                <a href="#type-CommandInputHandler"><span class="data-type">CommandInputHandler</span></a>
                                <em>or</em>
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                If this returns something other than <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>, the user will be prompted for an input before the command is run in the <span class="feature">Command Palette</span>.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 3154">3154</span>
                            </td>
                        </tr>
                        <tr class="build-3154" title="">
                            <td class="mth">input_description()</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                Allows a custom name to be show to the left of the cursor in the input box, instead of the default one generated from the command name
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 3154">3154</span>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </section>
            <section class="wide">
                <h2 id="sublime_plugin.WindowCommand"><code>sublime_plugin.WindowCommand</code>Class</h2>
                <p>
                    WindowCommands are instantiated once per window. The Window object may be retrieved via <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">self</span><span style="color: #f97b58">.</span>window</span></code>
                </p>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Methods</th>
                            <th>Return Value</th>
                            <th>Description</th>
                            <th class="tags"></th>
                        </tr>
                        <tr>
                            <td class="mth">run(&lt;args&gt;)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when the command is run.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">is_enabled(&lt;args&gt;)</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                Returns <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code> if the command is able to be run at this time. The default implementation simply always returns <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">is_visible(&lt;args&gt;)</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                Returns <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code> if the command should be shown in the menu at this time. The default implementation always returns <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">description(&lt;args&gt;)</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                Returns a description of the command with the given arguments. Used in the menu, if no caption is provided. Return <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code> to get the default description.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr class="build-3154" title="">
                            <td class="mth">input(args)</td>
                            <td class="rtn">
                                <a href="#type-CommandInputHandler"><span class="data-type">CommandInputHandler</span></a>
                                <em>or</em>
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                If this returns something other than None, the user will be prompted for an input before the command is run in the Command Palette.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 3154">3154</span>
                            </td>
                        </tr>
                        <tr class="build-3154" title="">
                            <td class="mth">input_description()</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                Allows a custom name to be show to the left of the cursor in the input box, instead of the default one generated from the command name
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 3154">3154</span>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </section>
            <section class="wide">
                <h2 id="sublime_plugin.TextCommand"><code>sublime_plugin.TextCommand</code> Class</h2>
                <p>
                    TextCommands are instantiated once per view. The View object may be retrieved via <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">self</span><span style="color: #f97b58">.</span>view</span></code>
                </p>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Methods</th>
                            <th>Return Value</th>
                            <th>Description</th>
                            <th class="tags"></th>
                        </tr>
                        <tr>
                            <td class="mth">run(edit, &lt;args&gt;)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when the command is run.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">is_enabled(&lt;args&gt;)</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                Returns <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code> if the command is able to be run at this time. The default implementation simply always returns <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">is_visible(&lt;args&gt;)</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                Returns <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code> if the command should be shown in the menu at this time. The default implementation always returns <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">description(&lt;args&gt;)</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                Returns a description of the command with the given arguments. Used in the menus, and for Undo / Redo descriptions. Return <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code> to get the default description.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">want_event()</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                Return <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">True</span></span></code> to receive an <span class="parameter">event</span> argument when the command is triggered by a mouse action. The event information allows commands to determine which portion of the view was clicked on. The default implementation returns <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">False</span></span></code>.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr class="build-3154" title="">
                            <td class="mth">input(args)</td>
                            <td class="rtn">
                                <a href="#type-CommandInputHandler"><span class="data-type">CommandInputHandler</span></a>
                                <em>or</em>
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                If this returns something other than <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>, the user will be prompted for an input before the command is run in the <span class="feature">Command Palette</span>.
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 3154">3154</span>
                            </td>
                        </tr>
                        <tr class="build-3154" title="">
                            <td class="mth">input_description()</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                Allows a custom name to be show to the left of the cursor in the input box, instead of the default one generated from the command name
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 3154">3154</span>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </section>
            <section class="wide build-3154" title="">
                <h2 id="sublime_plugin.TextInputHandler">
                    <code>sublime_plugin.TextInputHandler</code> Class
                    <span class="build" title="Added in build 3154">3154</span>
                </h2>
                <p>
                    TextInputHandlers can be used to accept textual input in the <span class="feature">Command Palette</span>. Return a subclass of this from the <span class="method">input()</span> method of a command.
                </p>
                <p>
                    <em>For an input handler to be shown to the user, the command returning the input handler <strong>MUST</strong> be made available in the Command Palette by adding the command to a <span class="file">Default.sublime-commands</span> file.</em>
                </p>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Methods</th>
                            <th>Return Value</th>
                            <th>Description</th>
                            <th class="tags"></th>
                        </tr>
                        <tr>
                            <td class="mth">name()</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                The command argument name this input handler is editing. Defaults to <code>foo_bar</code> for an input handler named <code>FooBarInputHandler</code>
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">placeholder()</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                Placeholder text is shown in the text entry box before the user has entered anything. Empty by default.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">initial_text()</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                Initial text shown in the text entry box. Empty by default.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr class="build-4081" title="">
                            <td class="mth">initial_selection()</td>
                            <td class="rtn">
                                [<span class="data-type">tuple</span>]
                            </td>
                            <td class="dsc">
                                A list of 2-element tuplues, defining the initially selected parts of the initial text
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4081">4081</span>
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">preview(text)</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                                <em>or</em>
                                <span class="data-type">sublime.Html</span>
                            </td>
                            <td class="dsc">
                                Called whenever the user changes the text in the entry box. The returned value (either plain text or HTML) will be shown in the preview area of the Command Palette.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">validate(text)</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                Called whenever the user presses enter in the text entry box. Return <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">False</span></span></code> to disallow the current value.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">cancel()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when the input handler is canceled, either by the user pressing backspace or escape.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">confirm(text)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when the input is accepted, after the user has pressed enter and the text has been validated.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">next_input(args)</td>
                            <td class="rtn">
                                <a href="#type-CommandInputHandler"><span class="data-type">CommandInputHandler</span></a>
                                <em>or</em>
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Returns the next input after the user has completed this one. May return <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code> to indicate no more input is required, or <code class="syntax-python"><span style="color: #333333">sublime_plugin<span style="color: #f97b58">.</span><span style="color: #6699cc">BackInputHandler</span>()</span></code> to indicate that the input handler should be poped off the stack instead.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">description(text)</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                The text to show in the Command Palette when this input handler is not at the top of the input handler stack. Defaults to the text the user entered.
                            </td>
                            <td class="tags"></td>
                        </tr>
                    </tbody>
                </table>
            </section>
            <section class="wide build-3154" title="">
                <h2 id="sublime_plugin.ListInputHandler">
                    <code>sublime_plugin.ListInputHandler</code> Class
                    <span class="build" title="Added in build 3154">3154</span>
                </h2>
                <p>
                    ListInputHandler objects can be used to accept a choice input from a list items in the Command Palette. Return a subclass of this from the <span class="method">input()</span> method of a command.
                </p>
                <p>
                    <em>For an input handler to be shown to the user, the command returning the input handler <strong>MUST</strong> be made available in the Command Palette by adding the command to a <span class="file">Default.sublime-commands</span> file.</em>
                </p>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Methods</th>
                            <th>Return Value</th>
                            <th>Description</th>
                        </tr>
                        <tr>
                            <td class="mth">name()</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                The command argument name this input handler is editing. Defaults to <code>foo_bar</code> for an input handler named <code>FooBarInputHandler</code>
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">list_items()</td>
                            <td class="rtn">
                                [<span class="data-type">str</span>]
                                <em>or</em>
                                ([<span class="data-type">str</span>], int)
                                <em>or</em>
                                [(<span class="data-type">str</span>, <a href="#type-value"><span class="data-type">value</span></a>)]
                                <em>or</em>
                                ([(<span class="data-type">str</span>, <a href="#type-value"><span class="data-type">value</span></a>)], int)
                                <em>or</em>
                                [<a href="#sublime.ListInputItem"><span class="data-type">ListInputItem</span></a>]
                                <em>or</em>
                                ([<a href="#sublime.ListInputItem"><span class="data-type">ListInputItem</span></a>], int)
                            </td>
                            <td class="dsc">
                                <p>
                                    This method should return the items to show in the list.
                                </p>
                                <p>
                                    The returned value may be a <span class="data-type">list</span> of item, or a 2-element <span class="data-type">tuple</span> containing a list of items, and an <span class="data-type">int</span> index of the item to pre-select.
                                </p>
                                <p>
                                    The each item in the list may be one of:
                                </p>
                                <ul>
                                    <li>
                                        A unicode string - used for both the row text and the value passed to the command
                                    </li>
                                    <li>
                                        A 2-element <span class="data-type">tuple</span> containing a unicode string for the row text, and a <a href="#type-value"><span class="data-type">value</span></a> to pass to the command
                                    </li>
                                    <li class="build-4095" title="">
                                        A <a href="#sublime.ListInputItem"><span class="data-type">ListInputItem</span> object
                                            <span class="build" title="Added in build 4095">4095</span>
                                        </a></li><a href="#sublime.ListInputItem">
                                    </a>
                                </ul><a href="#sublime.ListInputItem">
                                </a>
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">placeholder()</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                Placeholder text is shown in the text entry box before the user has entered anything. Empty by default.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">initial_text()</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                Initial text shown in the filter box. Empty by default.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr class="build-4081" title="">
                            <td class="mth">initial_selection()</td>
                            <td class="rtn">
                                [<span class="data-type">tuple</span>]
                            </td>
                            <td class="dsc">
                                A list of 2-element tuplues, defining the initially selected parts of the initial text
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4081">4081</span>
                            </td>
                        </tr>
                        <tr>
                            <td class="mth">preview(value)</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                                <em>or</em>
                                <span class="data-type">sublime.Html</span>
                            </td>
                            <td class="dsc">
                                Called whenever the user changes the selected item. The returned value (either plain text or HTML) will be shown in the preview area of the Command Palette.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">validate(value)</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                Called whenever the user presses enter in the text entry box. Return <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">False</span></span></code> to disallow the current value.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">cancel()</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when the input handler is canceled, either by the user pressing backspace or escape.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">confirm(value)</td>
                            <td class="rtn">
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Called when the input is accepted, after the user has pressed enter and the item has been validated.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">next_input(args)</td>
                            <td class="rtn">
                                <a href="#type-CommandInputHandler"><span class="data-type">CommandInputHandler</span></a>
                                <em>or</em>
                                <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code>
                            </td>
                            <td class="dsc">
                                Returns the next input after the user has completed this one. May return <code class="syntax-python"><span style="color: #333333"><span style="color: #ec5f66; font-style: italic">None</span></span></code> to indicate no more input is required, or <code class="syntax-python"><span style="color: #333333">sublime_plugin<span style="color: #f97b58">.</span><span style="color: #6699cc">BackInputHandler</span>()</span></code> to indicate that the input handler should be poped off the stack instead.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr>
                            <td class="mth">description(value, text)</td>
                            <td class="rtn">
                                <span class="data-type">str</span>
                            </td>
                            <td class="dsc">
                                The text to show in the Command Palette when this input handler is not at the top of the input handler stack. Defaults to the text of the list item the user selected.
                            </td>
                            <td class="tags"></td>
                        </tr>
                        <tr class="build-4096" title="">
                            <td class="mth">want_event()</td>
                            <td class="rtn">
                                <span class="data-type">bool</span>
                            </td>
                            <td class="dsc">
                                If the <code class="syntax-python">validate()</code> and <code class="syntax-python">confirm()</code> methods should receive a second parameter, an <a href="#type-event_dict"><code>event</code> Dict</a>
                            </td>
                            <td class="tags">
                                <span class="build" title="Added in build 4096">4096</span>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </section>
            <section class="wide build-4095" title="">
                <h2 id="sublime.ListInputItem">
                    <code>sublime.ListInputItem</code> Class
                    <span class="build" title="Added in build 4095">4095</span>
                </h2>
                <p>
                    Represents a row shown via <a href="#sublime_plugin.ListInputHandler"><span class="data-type">ListInputHandler</span></a>.
                </p>
                <table class="functions api">
                    <tbody>
                        <tr>
                            <th>Constructor</th>
                            <th>Description</th>
                        </tr>
                        <tr>
                            <td class="mth">ListInputItem(text, value, &lt;details&gt;, &lt;annotation&gt;, &lt;kind&gt;)</td>
                            <td class="dsc">
                                <dl class="parameters">
                                    <dt>
                                        <span class="parameter">text</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            A unicode string of the text to match against the user's input.
                                        </p>
                                    </dd>
                                    <dt>
                                        <span class="parameter">value</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            A <a href="#type-value"><span class="data-type">value</span></a> to pass to the command if the row is selected
                                        </p>
                                    </dd>
                                    <dt>
                                        <span class="parameter">details</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            An optional unicode string, or list of unicode strings, containing <a href="https://www.sublimetext.com/docs/minihtml.html#inline_formatting">limited inline HTML</a>. Displayed below the text.
                                        </p>
                                    </dd>
                                    <dt>
                                        <span class="parameter">annotation</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            An optional unicode string of a hint to draw to the right-hand side of the row.
                                        </p>
                                    </dd>
                                    <dt>
                                        <span class="parameter">kind</span>
                                    </dt>
                                    <dd>
                                        <p>
                                            An optional <a href="#type-kind_info"><span class="data-type">kind</span> tuple</a> – <em>defaults to <code class="syntax-python"><span style="color: #333333">sublime<span style="color: #f97b58">.</span>KIND_AMBIGUOUS</span></code></em>.
                                        </p>
                                    </dd>
                                </dl>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </section>
            <script type="text/javascript">
            var ranges = {
                'dev': Infinity,
                '4.0': 4104,
                '3.2': 3211,
                '3.1': 3176,
                '3.0': 3143
            };
            var filterClasses = {
                'dev': [],
                '4.0': [],
                '3.2': [],
                '3.1': [],
                '3.0': []
            };
            var allClasses = [];
            var buildsPresent = {};

            if (typeof includeBuilds !== 'undefined') {
                for (var i = 0; i < includeBuilds.length; ++i)
                    buildsPresent[includeBuilds[i]] = true;
            }

            function addBuildNum(text) {
                if (text.substring(0, 1) == '<')
                    text = text.substring(1);
                var buildNum = parseInt(text, 10);
                if (!isNaN(buildNum))
                    buildsPresent[buildNum] = true;
            }

            // Most version-tagged items contain <span class="build">####</span>
            var spans = document.querySelectorAll('span.build');
            for (var i = 0; i < spans.length; ++i)
                addBuildNum(spans[i].innerText);

            // Sometimes examples have to be version-tagged
            var pres = document.querySelectorAll('pre');
            for (var i = 0; i < pres.length; ++i) {
                var buildClassMatch = pres[i].className.match(/\bbuild-(\d+)\b/);
                if (buildClassMatch)
                    addBuildNum(buildClassMatch[1]);
            }

            Object.keys(buildsPresent).forEach(
                function(build) {
                    // Elements with build-#### should be filtered when <
                    var buildClass = '.build-' + build;
                    // Elements with build-####-removed be filtered when >=
                    var buildRemovedClass = '.build-' + build + '-removed';
                    var buildNum = parseInt(build, 10);
                    Object.keys(filterClasses).forEach(
                        function(filter) {
                            if (buildNum > ranges[filter]) {
                                filterClasses[filter].push(buildClass);
                            }
                            if (buildNum <= ranges[filter]) {
                                filterClasses[filter].push(buildRemovedClass);
                            }
                        }
                    );
                    allClasses.push(buildClass);
                    allClasses.push(buildRemovedClass);
                }
            );

            function hasClass(el, cls) {
                return el.className.indexOf(cls) != -1;
            }

            function removeClass(el, toRemove) {
                var classes = el.className.split(' ');
                var newClasses = [];
                for (var i = 0; i < classes.length; ++i) {
                    if (classes[i] != toRemove)
                        newClasses.push(classes[i]);
                }
                el.className = newClasses.join(' ');
            }

            function addClass(el, toAdd) {
                var classes = el.className.split(' ');
                var found = false;
                for (var i = 0; i < classes.length; ++i) {
                    if (classes[i] == toAdd) {
                        found = true;
                        break;
                    }
                }
                if (!found)
                    el.className = el.className + ' ' + toAdd;
            }

            function eachSelectors(classes, callback) {
                for (var i = 0; i < classes.length; ++i) {
                    var els = document.querySelectorAll(classes[i]);
                    els.forEach(callback);
                }
            }

            function addVerToHash(hash) {
                var main = document.getElementsByTagName('main')[0];
                var idEls = main.querySelectorAll('*[id]');
                var hrefEls = main.querySelectorAll('*[href^="#"]');

                var newHash = ':' + hash.replace('#', '');
                if (hash == defaultHash)
                    newHash = '';

                for (var i = 0; i < idEls.length; ++i) {
                    idEls[i].id = idEls[i].id.replace(
                        /^(.*?)(:ver-(dev|[\d.]{1,4}))?$/,
                        '$1' + newHash
                    );
                }

                var loc = window.location;
                var url = loc.href.substring(0, loc.href.length - loc.hash.length);
                for (var i = 0; i < hrefEls.length; ++i) {
                    var href = hrefEls[i].href;
                    if (href.substring(0, url.length) == url)
                        href = href.substring(url.length);
                    if (href.substring(0, 5) == '#ver-')
                        continue;
                    hrefEls[i].href = href.replace(
                        /^(#.*?)(:ver-(dev|[\d.]{1,4}))?$/,
                        '$1' + newHash
                    );
                }
            }

            function displayFilter(hash) {
                if (!hash)
                    return;
                if (hash.substring(0, 5) != '#ver-')
                    return;
                var filter = hash.substring(5);
                if (!(filter in filterClasses))
                    return;

                eachSelectors(
                    allClasses,
                    function(el) {
                        removeClass(el, 'filtered');
                        el.title = '';
                    }
                );
                eachSelectors(
                    filterClasses[filter],
                    function(el) {
                        addClass(el, 'filtered');
                        el.title = 'Unavailable in ' + filter;
                    }
                );

                filterLinks.forEach(
                    function(link) {
                        if (link.href.substring(link.href.length - hash.length) == hash)
                            addClass(link, 'active');
                        else
                            removeClass(link, 'active');
                    }
                );

                addVerToHash(hash);
            }

            function hashNoVersion(url) {
                if (!url)
                    return '';

                var idx = url.indexOf('#');
                if (idx == -1)
                    return '';

                return url.substring(idx + 1).replace(
                    /^(.*?)((:|^)ver-(dev|[\d.]{1,4}))?$/,
                    '$1'
                );
            }

            var versionsDiv = null;
            var versionsDivs = document.querySelectorAll('div.versions');
            if (versionsDivs.length)
                versionsDiv = versionsDivs[0];

            var defaultHash = null;
            var filterLinks = document.querySelectorAll('a.ver-sel');
            for (var i = 0; i < filterLinks.length; ++i) {
                filterLinks[i].addEventListener(
                    'click',
                    function(e) {
                        if (hasClass(versionsDiv, 'expanded'))
                            removeClass(versionsDiv, 'expanded');
                        else
                            addClass(versionsDiv, 'expanded');

                        var newHash = e.target.href.replace(/^[^#]*/, '');
                        displayFilter(newHash);

                        // Preserve the hash when switching versions
                        var newUrl = hashNoVersion(window.location.href);
                        if (newUrl != '')
                            newUrl = '#' + newUrl;
                        if (newHash == defaultHash) {
                            if (newUrl == '')
                                newUrl = ' ';
                        } else {
                            if (newUrl == '')
                                newUrl = newHash;
                            else
                                newUrl += newHash.replace('#', ':');
                        }
                        history.pushState(null, '', newUrl);
                        e.preventDefault();
                    }
                );
                if (filterLinks[i].getAttribute('data-default') == '1')
                    defaultHash = filterLinks[i].href.replace(/^[^#]*/, '');
            }

            var buildSpans = document.querySelectorAll('span.build');
            for (var i = 0; i < buildSpans.length; ++i) {
                var p = buildSpans[i].parentNode;
                while (p) {
                    if (p.className && p.className.match(/\bbuild-\d+/)) {
                        // We only add outlining to spans since other elements are
                        // block-level and it more evident via the document structure
                        // what content the build tag applies to
                        if (p.tagName == 'SPAN') {
                            buildSpans[i].outlineParent = p;
                            buildSpans[i].addEventListener(
                                'mouseenter',
                                function(e) {
                                    addClass(e.target.outlineParent, 'outlined');
                                }
                            );
                            buildSpans[i].addEventListener(
                                'mouseleave',
                                function(e) {
                                    removeClass(e.target.outlineParent, 'outlined');
                                }
                            );
                        }
                        break;
                    }
                    p = p.parentNode;
                }
            }

            var toc = document.getElementById('toc');

            if (versionsDiv)
                addClass(versionsDiv, 'enabled');

            function handleHash() {
                var apiHash = window.location.hash.replace(
                    /^#.*?:?(ver-(dev|[\d.]{1,4}))?$/,
                    '#$1'
                );
                if (apiHash == '' || apiHash == '#')
                    apiHash = defaultHash;
                displayFilter(apiHash);
            }
            handleHash();

            window.addEventListener('hashchange', handleHash, false);


            // The Y position of the top of the h1 > span, which is used to switch
            // between the pinned and non-pinned modes
            var pinY = 0;

            var h1 = null;
            var h1Height = 0;

            function offsetTop(el) {
                var y = 0;
                while (el) {
                    y += el.offsetTop;
                    el = el.offsetParent;
                }
                return y;
            }

            var h1s = document.querySelectorAll('h1');
            if (h1s.length) {
                h1 = h1s[0];
                h1Height = h1.offsetHeight;
            }

            var h1Span = null;
            var h1SpanOffset = 0;
            var h1SpanHeight = 0;

            var h1Spans = h1.querySelectorAll('h1 > span');
            if (h1Spans.length) {
                h1Span = h1Spans[0];
                h1SpanHeight = h1Span.offsetHeight;
                // Since the span is position: fixed when pinned, the offsetTop will be
                // inaccurate, so we have to cache the Y offset of the h1 -> span and use
                // that when re-calculating the pinY as the window size changes.
                pinY = offsetTop(h1Span);
            }
            if (pinY > 0)
                h1SpanOffset = pinY - offsetTop(h1);

            function h1YOffset() {
                pinY = offsetTop(h1) + h1SpanOffset;
            }

            var resizeFrameWait = false;
            window.addEventListener(
                'resize',
                function(e) {
                    if (!resizeFrameWait) {
                        window.requestAnimationFrame(function() {
                            h1YOffset(h1);
                            resizeFrameWait = false;
                        });
                        resizeFrameWait = true;
                    }
                }
            );

            var h1Nav = null;

            var navs = document.querySelectorAll('h1 > span > nav');
            if (navs.length) {
                h1Nav = navs[0];
            }

            function pinHeader(scrollY) {
                if (scrollY > pinY) {
                    if (versionsDiv && !hasClass(versionsDiv, 'pinned'))
                        addClass(versionsDiv, 'pinned');
                    if (!hasClass(h1, 'pinned')) {
                        addClass(h1, 'pinned');

                        var bgDiv = document.createElement('div');
                        bgDiv.className = 'background';
                        bgDiv.style.height = h1SpanHeight + 'px';
                        h1.insertBefore(bgDiv, h1Span);

                        var plDiv = document.createElement('div');
                        plDiv.className = 'placeholder';
                        plDiv.style.height = h1Height + 'px';
                        h1.insertBefore(plDiv, h1Span);

                        var divider = document.createElement('a');
                        divider.className = 'divider';
                        h1Nav.appendChild(divider);

                        if (toc) {
                            var tocLink = document.createElement('a');
                            tocLink.className = 'jump';
                            tocLink.innerText = 'TOC';
                            var verHash = window.location.hash.replace(
                                /^#.*?:?(ver-(dev|[\d.]{1,4}))?$/,
                                '$1'
                            );
                            if (verHash != '')
                                verHash = ':' + verHash;
                            tocLink.href = '#toc' + verHash;
                            h1Nav.appendChild(tocLink);
                        }

                        var topLink = document.createElement('a');
                        topLink.className = 'jump';
                        topLink.innerText = 'TOP';
                        topLink.href = '#';
                        topLink.addEventListener(
                            'click',
                            function(e) {
                                e.preventDefault();
                                window.scrollTo(window.scrollX, 0);
                                var newUrl = window.location.hash.replace(
                                    /^#.*?:?(ver-(dev|[\d.]{1,4}))?$/,
                                    '#$1'
                                );
                                if (newUrl == '#')
                                    newUrl = '';
                                if (newUrl == '')
                                    newUrl = ' ';
                                history.pushState(null, null, newUrl);
                            }
                        );
                        h1Nav.appendChild(topLink);
                    }
                }
                if (scrollY <= pinY) {
                    if (versionsDiv && hasClass(versionsDiv, 'pinned'))
                        removeClass(versionsDiv, 'pinned');
                    if (hasClass(h1, 'pinned')) {
                        var links = h1Nav.querySelectorAll('h1 > span > nav > a.jump');
                        for (var i = links.length - 1; i >= 0; --i)
                            h1Nav.removeChild(links[i]);
                        var divider = h1Nav.querySelectorAll('h1 > span > nav > a.divider');
                        if (divider.length)
                            h1Nav.removeChild(divider[0]);

                        var divs = h1.querySelectorAll('h1 > div');
                        for (var i = 0; i < divs.length; ++i)
                            h1.removeChild(divs[i]);
                        removeClass(h1, 'pinned');
                    }
                }
            }

            var lastScrollY = 0;
            var scrollFrameWait = false;
            window.addEventListener(
                'scroll',
                function(e) {
                    lastScrollY = window.scrollY;
                    if (!scrollFrameWait) {
                        window.requestAnimationFrame(function() {
                            pinHeader(lastScrollY);
                            scrollFrameWait = false;
                        });
                        scrollFrameWait = true;
                    }
                }
            );

            function offsetAnchorScroll() {
                if (window.location.hash.length < 0)
                    return;

                if (scrollY > pinY)
                    window.scrollTo(window.scrollX, window.scrollY - h1Height);
            }

            // This handles when the hash doesn't change because the user clicks an
            // anchor multiple times
            window.addEventListener(
                'click',
                function(e) {
                    var link = e.target;
                    while (link && !link.href)
                        link = link.parentElement;
                    if (!link)
                        return;
                    if (hasClass(link, 'ver-sel'))
                        return;
                    if (link.href &&
                        link.href.indexOf('#') != -1) {
                        var oldHash = hashNoVersion(window.location.href);
                        var newHash = hashNoVersion(link.href);
                        if (oldHash != newHash)
                            setTimeout(function() { offsetAnchorScroll(); }, 0);
                    }
                },
                false
            );

            window.addEventListener(
                // Can't use DOMContentLoaded with window.scrollY
                'load',
                function() {
                    pinHeader(window.scrollY);
                    offsetAnchorScroll();
                }
            );
            </script>
        </section>
    </main>
    <footer>
        <section>
            <div class="footer_start">
                <p>© <a href="https://www.sublimehq.com/">Sublime HQ Pty Ltd</a></p>
                <p>Woollahra, Sydney.</p>
            </div>
            <div class="footer_end">
                <p>
                </p>
                <div class="twitter_follow">
                    <a target="_blank" rel="noopener noreferrer" href="https://twitter.com/sublimehq?ref_src=twsrc%5Etfw">
                        <i></i>
                        Follow @sublimehq</a>
                </div>
                <p></p>
            </div>
        </section>
    </footer>
    <!--[if lt IE 9]>
<script>
    var logo_img = byid('logo').getElementsByTagName('IMG')[0]
    logo_img.src = logo_img.src.replace('.svg', '.png')
</script>
<![endif]-->
</body>

</html>